R 在dcast中保留变量

R 在dcast中保留变量,r,R,我正在使用R中的dcast函数将长格式数据集转换为宽格式数据集。我有一个ID号、一个分类变量(CAT)和一个连续变量(AMT)。但是,我也有一个可变的性别,这对于给定ID号的所有行都是相同的。这段代码用于创建宽格式数据集,但我失去了性。我怎样才能保留它 PC1cast <- dcast(PC1, ID~CAT, value.var='AMT', fun.aggregate=sum, na.rm=TRUE) 根据显示的数据,PC1cast dcast(PC1, ID+SEX~CAT, va

我正在使用R中的
dcast
函数将长格式数据集转换为宽格式数据集。我有一个ID号、一个分类变量(CAT)和一个连续变量(AMT)。但是,我也有一个可变的性别,这对于给定ID号的所有行都是相同的。这段代码用于创建宽格式数据集,但我失去了性。我怎样才能保留它

PC1cast <- dcast(PC1, ID~CAT, value.var='AMT', fun.aggregate=sum, na.rm=TRUE)

根据显示的数据,
PC1cast

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请显示示例数据我创建了一个示例数据,它通过dcast(PC1,ID+SEX~CAT,value.var='AMT',fun.aggregate=sum,na.rm=TRUE)起作用
如果
SEX
对于给定
ID
ID CAT AMT SEX 1a 46雌性1b 22雌性1c 31雌性2a 17雄性2b 25雄性2c 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))