我有数据框,我试图对给定条件的每一列求和。我正在使用colsum功能。基于该结果,我想创建一个数据框。
参见代码
> colSums(Product.TRx[5:10])
2011-04 2011-05 2011-06 2011-07 2011-08 2011-09 2011-10 2011-11 2011-12
0 0 23318 21187 23933 22911 22600 23053 23467
基于这些结果,我想创建一个数据框,其中包含月份(例如2010-11)作为列名及其对应的值。我将添加一个名为" Product"价值是AAAAAA'数据框应如下所示
Product 2011-04 2011-05 2011-06 2011-07 2011-08 2011-09 2011-10 2011-11 2011-12
AAAAAA 0 0 23318 21187 23933 22911 22600 23053 23467
如何在R中编码?
非常感谢您的帮助。
答案 0 :(得分:1)
假设您的数据是一个带有列名的数字矩阵,如下所示:
> m = matrix(1:12,3,4)
> colnames(m)=c("A","B","C","D")
然后这样做:
> data.frame(Product="AAAA",t(colSums(m)))
Product A B C D
1 AAAA 6 15 24 33
如果你的东西是数据框,它仍然有效:
> md=data.frame(m)
> md$D = runif(3) # mix up some floats
> data.frame(Product="AAAA",t(colSums(md)))
Product A B C D
1 AAAA 6 15 24 1.285573
答案 1 :(得分:0)
您可以简单地使用as.data.frame
:
df <- as.data.frame(t(colSums(Product.TRx[5:10])))
然后添加额外的列:
df$Product <- "AAAAAA"