我正在使用R中的dcast
函数将长格式数据集转换为宽格式数据集。我有一个ID号,一个分类变量(CAT)和一个连续变量(AMT)。但是,我也有一个变量SEX,对于给定ID号的所有行都是相同的。此代码用于创建宽格式数据集,但我失去了性别。我该如何保留它?
PC1cast <- dcast(PC1, ID~CAT, value.var='AMT', fun.aggregate=sum, na.rm=TRUE)
如果我将IDX添加到ID~CAT行,它会给我SEX-CAT组合。我希望SEX只是每行的一个值。
答案 0 :(得分:0)
根据数据显示
dcast(PC1, ID+SEX~CAT, value.var='AMT', fun.aggregate=sum, na.rm=TRUE)
# ID SEX A B C
#1 1 Female 46 22 31
#2 2 Male 17 25 44
PC1 <- structure(list(ID = c(1L, 1L, 1L, 2L, 2L, 2L), CAT = c("A", "B",
"C", "A", "B", "C"), AMT = c(46L, 22L, 31L, 17L, 25L, 44L), SEX = c("Female",
"Female", "Female", "Male", "Male", "Male")), .Names = c("ID",
"CAT", "AMT", "SEX"), class = "data.frame", row.names = c(NA, -6L))