[问题] 想画多组XY折线图,X数值和长度都不同

楼主: LIAR (玻璃做的大叔)   2021-05-26 22:08:09
我有多笔病人的肺功能资料,但是每个病人纪录的时间点不规则,或是
总比数不同(收案时间差距几个月),譬如以下的资料
[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同时画出来?
[软件熟悉度]:
入门(写过其他程式,只是对语法不熟悉)
作者: andrew43 (讨厌有好心推文后删文者)   2021-05-26 22:56:00
建议先melt成 long table,一列一个观测,有一个病人多列。每一个病人多列。之后ggplot,并facet_warp(vars(病人id))facet可以指定scales
作者: locka (locka)   2021-05-27 03:24:00
推A大,补充一下ggplot的哲学就是把资料整理成long table~(是说如果病人id很多个,分组画出来的图会很挤很挤喔,慎用)

Links booklink

Contact Us: admin [ a t ] ucptt.com