Re: [問題] 繪製事件圖

看板R_Language作者 (天)時間8年前 (2017/05/02 23:18), 8年前編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《Neisseria (Neisseria)》之銘言: : [問題類型]: : : 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) : : [軟體熟悉度]: : 請把以下不需要的部份刪除 : 入門(寫過其他程式,只是對語法不熟悉) : [問題敘述]: : : 現在有一個亂數程式,每次會從 1 至 48 中任意挑選不重覆的六個數字 : 我們假設我們選了 100 次,程式如下: : mx <- NULL : for (i in 1:100) { mx <- rbind(mx, sample(1:48, 6, replace = FALSE))} : df <- NULL : for (i in 1:dim(mx)[1]) { : col <- NULL : for (j in 1:48) { : if (any(mx[i, ] %in% j)) { : col <- cbind(col, j) : } else { : col <- cbind(col, NA) : } : } : df <- rbind(df, col) : } : 我現在想畫以下的圖: : 48 | : 47 | --- ------ : 46 | : ... : 5 | -------- : 4 | : 3 | : 2 | ----- : 1 | --- : ---------------... ------- : 1 2 3 4 5 6 7 99 100 : 簡單地說,若該數字出現,則畫水平線,若未出現,則不畫線 : 如果各位覺得這整個事件很像某個生活中發生的事,那純屬巧合 XD : : [程式範例]: : : 本來想用 ggplot 畫,但現在已經不要求了,有圖就好 : 如果有一些比較基本的繪圖函式,可以自行組合也不錯 : 因為 R 的函數包得太好了,要自已畫一些其他類型的圖反而不知怎麼畫 : : [環境敘述]: : : 對本題無明顯幫助 : : [關鍵字]: : 程式兩行,先看圖吧:http://imgur.com/a/GlBVX code: m <- replicate(100, sample(48, 6)) matplot(1:100, t(m), pch = "_", col = 1) ggplot: 圖:http://imgur.com/a/GXvxI library(ggplot2) DF <- data.frame(x = rep(1:100, each = 6), y = as.vector(m)) ggplot(DF, aes(x, y)) + geom_point(pch = "_") -- R資料整理套件系列文: magrittr #1LhSWhpH (R_Language) https://goo.gl/72l1m9 data.table #1LhW7Tvj (R_Language) https://goo.gl/PZa6Ue dplyr(上.下) #1LhpJCfB,#1Lhw8b-s (R_Language) https://goo.gl/I5xX9b tidyr #1Liqls1R (R_Language) https://goo.gl/i7yzAz pipeR #1NXESRm5 (R_Language) https://goo.gl/zRUISx -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.233.136.9 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1493738339.A.951.html ※ 編輯: celestialgod (36.233.136.9), 05/02/2017 23:22:47

05/02 23:40, , 1F
感謝大大,的確解決了小弟的問題
05/02 23:40, 1F
文章代碼(AID): #1P2ADZbH (R_Language)
文章代碼(AID): #1P2ADZbH (R_Language)