保留dcast中的变量

时间:2014-12-15 17:56:19

标签: r

我正在使用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只是每行的一个值。

1 个答案:

答案 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))