Re: [問題] 繪製事件圖
※ 引述《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
討論串 (同標題文章)
R_Language 近期熱門文章
PTT數位生活區 即時熱門文章