我希望将数据设置为特定格式,但不知道如何使用reshape()完成。
我的数据如下:
df<-data.frame(Cues=c("A","B","C","A","B","C"),
Targets=rep(1:3,2),
Rater=rep(1:2, each=3),
Rating=c(1,3,5,2,4,6))
我想得到它:
df2<-data.frame(Targets=rep(1:3,2),
Cues=c("A","B","C","A","B","C"),
Rater_1= c(1,2),
Rater_2=c(3,5),
Rater_3C=c(5,6))
我尽力使用论坛reshape()
,并没有真正进一步发展。你能帮助我吗?
提前和最好的谢谢, 约什
答案 0 :(得分:0)
注意: df data.frame设置中没有3C评估者,所以这个答案忽略了这个问题。
考虑到这一点,使用来自reshape2模块的dcast函数,从长格式数据转换为宽格式数据的一种方法是:
library(reshape2)
df2 <- dcast(df, Targets + Cues ~ Rater, value.var = "Rating")
names(df2)[names(df2) == "1"] <- "Rater_1"
names(df2)[names(df2) == "2"] <- "Rater_2"
df2
Targets Cues Rater_1 Rater_2
1 1 A 1 2
2 2 B 3 4
3 3 C 5 6
此外,tidyr模块非常适合进行此类转换。