将数据重塑为宽格式
Reshaping data to wide format
我想将我的数据转换为特定格式,但不知道如何使用 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()
但并没有取得进一步的进展。你们能帮帮我吗?
在此先致谢,
乔什
注意: 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 模块对于此类转换非常值得关注。
我想将我的数据转换为特定格式,但不知道如何使用 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()
但并没有取得进一步的进展。你们能帮帮我吗?
在此先致谢, 乔什
注意: 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 模块对于此类转换非常值得关注。