首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类似于dcast,但没有数据总和

类似于dcast,但没有数据总和
EN

Stack Overflow用户
提问于 2017-12-12 18:37:07
回答 1查看 53关注 0票数 1

我已经为R生存包组织了数据,但希望将其导出以在使用不同结构的Graphpad Prism中工作。

代码语言:javascript
复制
#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生存包数据结构如下所示

代码语言:javascript
复制
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。输出应如下所示:

代码语言:javascript
复制
Time        A             B
1                         1
2                         1
2                         1
3           1             1
4           1                         
5           0             1
5           0             
5           0             

dcast()所做的事情与我想要的类似,但是它汇总了状态值并将它们合并到一个单元格中,用于所有具有匹配时间值的个体。

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

发布于 2017-12-12 20:21:30

当我试图将Sotos的代码实现到我的实际数据时,我遇到了一个奇怪的问题。我得到了错误:

代码语言:javascript
复制
Error in Math.factor(var) : ‘abs’ not meaningful for factors

这很奇怪,因为Sotos的代码适用于这个示例。当我使用sapply()检查示例数据帧时,它给出了结果:

代码语言:javascript
复制
> sapply(df,class)
Treatment      Time    Status 
 "factor" "numeric" "numeric"  

据我所知,我的问题是我的状态变量在我的示例中被读取为数字,但在我的真实数据中却是一个整数:

代码语言:javascript
复制
> sapply(df,class)
Treatment      Time    Status 
 "factor" "numeric" "integer" 

我从.csv加载了我的数据,所以这可能是导致变量调用发生变化的原因。我最终使用as.numeric()更改了状态变量,然后重新生成数据帧。

代码语言:javascript
复制
Status<-as.numeric(df$Status)
df<-data.frame(Treatment, Time, Status)

并且能够将Sotos的代码应用于新的数据帧。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47770488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档