考虑:长到宽重组通过ID和天
x <- data.frame(Participant=c("1","1","1","1","1","1","1","1","1","1", "2","2","2","2","2","2","2","2","2","2",
"3","3","3","3","3","3","3","3","3","3"),
Day= c("1","2","3","4","5","6","7","8","9","10","1","2","3","4","5","6","7","8","9","10",
"1","2","3","4","5","6","7","8","9","10"),
verbal=c(1,4,5,6,1,2,8,5,3,4,1,4,5,6,1,2,8,5,3,4,1,4,5,6,1,2,8,5,3,4),
spatial=c(1,6,7,3,5,1,6,7,3,5,1,6,7,3,5,1,6,7,3,5,1,6,7,3,5,1,6,7,3,5),
cognitive=c(5,6,3,5,7,1,2,3,6,1,6,7,3,5,1,6,7,3,5,1,6,7,3,5,7,4,2,5,7,4))
结果:
y <- data.frame(Participant=c("1","2","3"),
verbal1=c(1,4,5),
verbal2=c(1,4,5),
verbal3=c(1,4,5),
verbal4=c(1,4,5),
verbal5=c(1,4,5),
verbal6=c(1,4,5),
verbal7=c(1,4,5),
verbal8=c(1,4,5),
verbal9=c(1,4,5),
verbal10=c(1,4,5),
spatial1=c(1,6,7),
spatial2=c(1,6,7),
spatial3=c(1,6,7),
spatial4=c(1,6,7),
spatial5=c(1,6,7),
spatial6=c(1,6,7),
spatial7=c(1,6,7),
spatial8=c(1,6,7),
spatial9=c(1,6,7),
spatial10=c(1,6,7),
cognitive1=c(5,6,3),
cognitive2=c(5,6,3),
cognitive3=c(5,6,3),
cognitive4=c(5,6,3),
cognitive5=c(5,6,3),
cognitive6=c(5,6,3),
cognitive7=c(5,6,3),
cognitive8=c(5,6,3),
cognitive9=c(5,6,3),
cognitive10=c(5,6,3))
基本上,我有麻烦重组长格式的数据集,以宽格式。这里的问题是需要调用多个变量(口头的,空间的和认知的),所以我不能用TidyR传播函数来打它。这里的关键是要打破它分成三块在评论部分中找到:
解决方案:
x1 <- x %>%
select(ParticipantID, Day, verbal) %>%
mutate(Day=paste0('verbal', Day)) %>%
spread(Day, verbal)
x2 <- x %>%
select(ParticipantID, Day, spatial) %>%
mutate(Day=paste0('spatial', Day)) %>%
spread(Day, spatial)
x3 <- x %>%
select(ParticipantID, Day, cognitive) %>%
mutate(Day=paste0('cognitive', Day)) %>%
spread(Day, cognitive)
final1 <- left_join(x1, x2, by=participant)
final2 <- left_join(x2,final1, by=participant)
堆栈溢出不在这里为你做你的工作。尝试自己做这件事,并发布你的尝试。 –