[問題] 想畫多組XY折線圖,X數值和長度都不同

看板R_Language作者 (玻璃做的大叔)時間2年前 (2021/05/26 22:08), 編輯推噓4(404)
留言8則, 2人參與, 2年前最新討論串1/2 (看更多)
我有多筆病人的肺功能資料,但是每個病人紀錄的時間點不規則,或是 總比數不同(收案時間差距幾個月),譬如以下的資料 [1] 0 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 上面這位有收到第18天,有17筆的肺功能資料(Y值) [1] 0 1 4 5 NA NA NA NA NA NA NA NA NA NA NA NA NA 上面個案剛收,只有4天的資料,所以後面都是NA 因為病人數目會一直增加,紀錄數值也會每天有變化,我目前已經自動化 到把資料匯入array中,第一個維度row是病人, 第二個維度column是不同的觀測數值(天數X;Y1;Y2;Y3), 第三個維度是病人收資料的流水號。 也已經成功根據不同參數,自動分組完成。 接下來,我們希望能畫出不同病人的肺功能數值變化,也就是多組X-Y折線圖。 我目前看lines或是ggplot2的範例,都是固定的X對應多組Y去繪圖, 但我們情況是X的vector,不管長度,或是數值一開始就不同。 請問這樣要哪種方式可以直接把這些不同的X-Y同時畫出來? [軟體熟悉度]: 入門(寫過其他程式,只是對語法不熟悉) -- 起初,他們追殺共產主義者,我沒有說話,因為我不是共產主義者; 接著,他們追殺猶太人,我沒有說話,因為我不是猶太人; 後來,他們追殺工會成員,我沒有說話,因為我不是工會成員; 此後,他們追殺天主教徒,我沒有說話,因為我是新教教徒; 最後,他們奔我而來,卻再也沒有人站起來為我說話了。 《First They Came(他們首次來時)》,Martin Niemoller牧師(1892-1984) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.176.32.194 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1622038096.A.F9E.html

05/26 22:56, 2年前 , 1F
建議先melt成 long table,一列一個觀測,有一個病人多
05/26 22:56, 1F

05/26 22:56, 2年前 , 2F
列。
05/26 22:56, 2F

05/26 22:57, 2年前 , 3F
每一個病人多列。
05/26 22:57, 3F

05/26 22:59, 2年前 , 4F
之後ggplot,並facet_warp(vars(病人id))
05/26 22:59, 4F

05/26 23:00, 2年前 , 5F
facet可以指定scales
05/26 23:00, 5F

05/27 03:24, 2年前 , 6F
推A大,補充一下ggplot的哲學就是把資料整理成long table~
05/27 03:24, 6F

05/27 03:24, 2年前 , 7F
(是說如果病人id很多個,分組畫出來的圖會很擠很擠喔,慎用
05/27 03:24, 7F

05/27 03:24, 2年前 , 8F
)
05/27 03:24, 8F
文章代碼(AID): #1WhbPG-U (R_Language)
文章代碼(AID): #1WhbPG-U (R_Language)