意大利面在R
我的数据集如下所示:意大利面在R,r,loops,plot,R,Loops,Plot,我的数据集如下所示: PatientID Visit Var1 Var2 Var3 Var4 Var5 1 ID1 0 42.28 4.57 22.56 4.36 8.87 2 ID1 1 55.60 6.34 3.74 3.76 6.96 3 ID1 2 69.45 11.18 20.69 2.15 8.34 4 ID2 0 58.78 7.81 6.57 1.19 7.31
PatientID Visit Var1 Var2 Var3 Var4 Var5
1 ID1 0 42.28 4.57 22.56 4.36 8.87
2 ID1 1 55.60 6.34 3.74 3.76 6.96
3 ID1 2 69.45 11.18 20.69 2.15 8.34
4 ID2 0 58.78 7.81 6.57 1.19 7.31
5 ID2 1 10.33 38.27 0.48 14.41 NA
6 ID2 2 69.45 11.18 20.69 2.15 8.34
7 ID3 0 69.16 6.17 8.98 1.91 6.12
8 ID3 1 86.02 19.62 4.18 2.36 4.17
9 ID3 2 69.45 11.18 20.69 2.15 8.34
10 ID4 0 94.05 26.75 2.89 2.92 2.17
11 ID4 1 48.66 14.38 4.96 1.13 4.78
12 ID4 2 69.45 11.18 20.69 2.15 8.34
实际上我总共有大约60个var,所以这里我只是展示一个示例。我需要在R中计算所有个体每次就诊时每个变量的平均值,然后创建一个60行的意大利面图(每个对应于每次就诊时每个变量的平均值,以检查是否随时间变化,即就诊)。我还需要将特定变量的行(例如VAR1和VAR4)涂成红色
我通常使用以下代码创建意大利面条图,但在这种情况下,我可能需要创建一个循环来计算平均值
library(ggplot2)
library(data.table)
library(plyr)
tspag = ggplot(all.data, aes(x=Visit, y=Mean_values)) +
geom_line() + guides(colour=FALSE) + xlab("Days after") +
ylab("Mean plot") + theme_bw() + theme(panel.border = element_blank(), panel.grid.major = element_blank(),
panel.grid.minor = element_blank(), axis.line = element_line(colour = "black"))
spag = tspag + aes(colour = factor(XXXX))
spag
我真的很感谢你的帮助。你需要一点数据争论来达成你的目的。这里我将使用
dplyr
和tidyr
:
library(dplyr)
library(tidyr)
all.data <- dat %>% group_by(Visit) %>%
summarise_each(funs(mean(., na.rm=TRUE)), -PatientID) %>%
gather(variable, val, -Visit)
你需要一点数据争论来获得你的方法。这里我将使用
dplyr
和tidyr
:
library(dplyr)
library(tidyr)
all.data <- dat %>% group_by(Visit) %>%
summarise_each(funs(mean(., na.rm=TRUE)), -PatientID) %>%
gather(variable, val, -Visit)
假设您需要每个
Var-n
的平均值,对于每次就诊,对所有患者进行平均,下面是一个使用ggplot汇总数据的解决方案
library(reshape2) # for melt(...)
library(ggplot2)
gg.df <- melt(df, id=1:2)
ggplot(gg.df, aes(x=Visit, y=value, color=variable))+
stat_summary(fun.y=mean, geom="line")+
scale_x_continuous(breaks=unique(gg.df$Visit))
library(重塑2)#用于熔体(…)
图书馆(GG2)
gg.df假设您需要每个Var-n
的平均值,对于每次就诊,对所有患者进行平均,下面是一个使用ggplot总结数据的解决方案
library(reshape2) # for melt(...)
library(ggplot2)
gg.df <- melt(df, id=1:2)
ggplot(gg.df, aes(x=Visit, y=value, color=variable))+
stat_summary(fun.y=mean, geom="line")+
scale_x_continuous(breaks=unique(gg.df$Visit))
library(重塑2)#用于熔体(…)
图书馆(GG2)
你已经试过计算平均值了吗?你们通常是怎么做的?数据表和plyr和这段代码有什么关系?你的平均数在哪里?你已经试过计算平均数了吗?你们通常是怎么做的?数据表和plyr和这段代码有什么关系?你想从哪里得到最重要的线索。我现在有了解决办法!非常感谢。我现在有了解决办法!