作者LIAR (玻璃做的大叔)
看板R_Language
标题[问题] 想画多组XY折线图,X数值和长度都不同
时间Wed May 26 22:08:09 2021
我有多笔病人的肺功能资料,但是每个病人纪录的时间点不规则,或是
总比数不同(收案时间差距几个月),譬如以下的资料
[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://webptt.com/cn.aspx?n=bbs/R_Language/M.1622038096.A.F9E.html
1F:推 andrew43: 建议先melt成 long table,一列一个观测,有一个病人多 05/26 22:56
2F:→ andrew43: 列。 05/26 22:56
3F:→ andrew43: 每一个病人多列。 05/26 22:57
4F:→ andrew43: 之後ggplot,并facet_warp(vars(病人id)) 05/26 22:59
5F:→ andrew43: facet可以指定scales 05/26 23:00
6F:推 locka: 推A大,补充一下ggplot的哲学就是把资料整理成long table~ 05/27 03:24
7F:推 locka: (是说如果病人id很多个,分组画出来的图会很挤很挤喔,慎用 05/27 03:24
8F:推 locka: ) 05/27 03:24