我已经为R生存包组织了数据,但希望将其导出以在使用不同结构的Graphpad Prism中工作。
#Example data
Treatment<-c("A","A","A","A","A","B","B","B","B","B")
Time<-c(3,4,5,5,5,1,2,2,3,5)
Status<-c(1,1,0,0,0,1,1,1,1,1)
df<-data.frame(Treatment,Time,Status)R生存包数据结构如下所示
Treatment Time Status
A 3 1
A 4 1
A 5 0
A 5 0
A 5 0
B 1 1
B 2 1
B 2 1
B 3 1
B 5 1我需要的输出将每个处理组织为一列,然后按时间排序。然后,每个个体根据其状态被记录为1或0。输出应如下所示:
Time A B
1 1
2 1
2 1
3 1 1
4 1
5 0 1
5 0
5 0 dcast()所做的事情与我想要的类似,但是它汇总了状态值并将它们合并到一个单元格中,用于所有具有匹配时间值的个体。
谢谢你的帮助!
发布于 2017-12-12 20:21:30
当我试图将Sotos的代码实现到我的实际数据时,我遇到了一个奇怪的问题。我得到了错误:
Error in Math.factor(var) : ‘abs’ not meaningful for factors这很奇怪,因为Sotos的代码适用于这个示例。当我使用sapply()检查示例数据帧时,它给出了结果:
> sapply(df,class)
Treatment Time Status
"factor" "numeric" "numeric" 据我所知,我的问题是我的状态变量在我的示例中被读取为数字,但在我的真实数据中却是一个整数:
> sapply(df,class)
Treatment Time Status
"factor" "numeric" "integer" 我从.csv加载了我的数据,所以这可能是导致变量调用发生变化的原因。我最终使用as.numeric()更改了状态变量,然后重新生成数据帧。
Status<-as.numeric(df$Status)
df<-data.frame(Treatment, Time, Status)并且能够将Sotos的代码应用于新的数据帧。
https://stackoverflow.com/questions/47770488
复制相似问题