考慮:長到寬重組通過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)
堆棧溢出不在這裏爲你做你的工作。嘗試自己做這件事,併發布你的嘗試。 –