繁体   English   中英

如何创建具有3个因素的data.frame?

[英]How to create a data.frame with 3 factors?

希望您不会觉得我的问题太傻,我做了很多研究,但似乎我不知道该如何解决这个令人讨厌的问题。

好吧,我有一个实验的6位参与者(P)的数据,每位参与者有50个试验(T),而10个条件(C)。 所以我想在r中创建一个数据框,允许我放置这些数据。 此data.frame应该具有3个因子(P,T和C),因此总行数为(P * T * C)。 对我来说困难是创建一个,因为我在100个obs(T)x 10变量(C)的6 data.frame中有6个参与者的数据。 我想先用这些因素创建一个空数据集,然后根据因素P,T和C复制6个data.set的值。任何帮助将不胜感激,我是r中的新手。

谢谢。

好; 首先,我们为所有参与者创建一个大数据框:

result<-rbind(dfrforparticipant1, dfrforparticipant2,...dfrforparticipant6) #you'll have to fill out the proper names of the original data.frames

接下来,我们为参与者ID添加一列:

numTrials<-50 #although 100 is also mentioned in your question
result$P<-as.factor(rep(1:6, each=numTrials))

最后,我们需要从'宽'格式转换为'长'格式(我假设保存每种条件的结果的列名称为C1,C2等;我还假设您的原始数据已经保存。像这样的列(称为T,表示试验)(未经测试,因为您没有提供示例数据):

orgcolnames<-paste("C", 1:10, sep="")
result2<-reshape(result, varying=list(orgcolnames), v.names="val", idvar=c("T","P"), timevar="C", times=seq_along(orgcolnames), direction="long")

您想要的现在在result2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM