我有一个数据帧寻找这样的:如何跨越制表(XTABS)多瓦尔,但相同的击穿
SubjectID Activity V1 V2 V3
1 2 S 0.2571778 -0.02328523 -0.01465376
2 2 W 0.2860267 -0.01316336 -0.11908252
3 3 R 0.2754848 -0.02605042 -0.11815167
4 3 W 0.2702982 -0.03261387 -0.11752018
5 4 A 0.2748330 -0.02784779 -0.12952716
6 4 S 0.2792199 -0.01862040 -0.11390197
...
(其实有更多的Vn的变数,但这说明了这个问题。)
我想用xtabs()
看所有Vn的增值经销商,但保持SubjectID和活动不断 - 像
xtabs(c(V1, V2, V3) ~ SubjectID + Activity, data = DF)
或
lapply(c(V1, V2, V3), function(x) xtabs(x ~ SubjectID + Activity, data = DF))
但当然这些不起作用。什么是正确的方法在这里?
编辑:我想是的
xtabs(V1 ~ SubjectID + Activty, data = DF)
xtabs(V2 ~ SubjectID + Activty, data = DF)
xtabs(V3 ~ SubjectID + Activty, data = DF)
...
一种方法是使用'reshape'而不是'xtabs','lappl y(paste0(“V”,1:3),function(x) reshape(df [c(x,“SubjectID”,“Activity”)],idvar =“SubjectID”,timevar =“Activity” “宽”)) ' –
@RonakShah这是伟大的,除非它没有总结价值作为xtabs会(我真的想找到平均值,但如果我能得到它总结我可以外推的意思) – Conrad