gpt4 book ai didi

重组 r: reshape, dcast 中的数据,融化...似乎对这个数据框没有任何作用

转载 作者:行者123 更新时间:2023-12-04 22:29:39 24 4
gpt4 key购买 nike

这是我导入的数据框的前几行的示例(在完整数据集中,主题变量共有五个级别/因子,另外两个是代数 II 和几何)。

SID   firstName lastName    subject       sumScaleScore sumPerformanceLevel
604881 JIM Ro Mathematics 912 2
604881 JIM Ro ELA 964 4
594181 JERRY Chi ELA 997 1
594181 JERRY Chi Mathematics 918 3
564711 KILE Gamma ELA 933 5
564711 KILE Gamma Algebra I 1043 7

我想将它从上面的长格式(每个人有两行)重组为宽格式(每个人有一行)。例如,新数据的第一行将包含:
SID  firstName  lastName  sumScaleScore_Mathematics  sumPerformanceLevel_Mathematics  sumScaleScore_ELA  sumPerformanceLevel_ELA
604881 JIM Ro 912 2 964 4

我已经尝试过 reshape2 的melt、dcast 和其他一些软件包以及阅读一些帮助文件,但是我的编码并没有削减它。 SPSS 使用“casestovars”很容易做到这一点,但我是 r 的新手并且没有运气。有任何想法吗?

最佳答案

melt 使用前四列,然后使用 dcast :

library(reshape2)
m <- melt(DF, id = 1:4)
dcast(m, SID + firstName + lastName ~...)

给予:
     SID firstName lastName AlgebraI_sumScaleScore AlgebraI_sumPerformanceLevel
1 564711 KILE Gamma 1043 7
2 594181 JERRY Chi NA NA
3 604881 JIM Ro NA NA
ELA_sumScaleScore ELA_sumPerformanceLevel Mathematics_sumScaleScore
1 933 5 NA
2 997 1 918
3 964 4 912
Mathematics_sumPerformanceLevel
1 NA
2 3
3 2

注意: 我们使用了这个输入:
Lines <- "SID   firstName lastName    subject       sumScaleScore sumPerformanceLevel
604881 JIM Ro Mathematics 912 2
604881 JIM Ro ELA 964 4
594181 JERRY Chi ELA 997 1
594181 JERRY Chi Mathematics 918 3
564711 KILE Gamma ELA 933 5
564711 KILE Gamma AlgebraI 1043 7"
DF <- read.table(text = Lines, header = TRUE, as.is = TRUE)

关于重组 r: reshape, dcast 中的数据,融化...似乎对这个数据框没有任何作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34444703/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com