如何从colsum函数创建数据框

时间:2017-04-07 20:31:10

标签: r list dataframe

我有数据框,我试图对给定条件的每一列求和。我正在使用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中编码?

非常感谢您的帮助。

2 个答案:

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