R:获取某个列的data.frame组中的列总和

Ian*_*the 4 r dataframe data.table

我有一个示例data.frame如下所示,我想创建另一个data.frame,其中包含某个列的某个列的统计信息,我该怎么做?

例如,在下面的data.frame中,我想通过Chart获取每列的总和.

示例data.frame:

Chart    Sum     Sum_Squares    Count     Average
Chart1   2           4            4         1
Chart1   3           9            3         1.5
Chart2   4           16           5         2
Chart2   5           25           2         2.5
Run Code Online (Sandbox Code Playgroud)

期望的输出:

Chart    Sum_sum      Sum_square_sum      Count_sum      Average_sum
Chart1      5              13                 7              2.5
Chart2      9              41                 7              4.5
Run Code Online (Sandbox Code Playgroud)

我试过下面的代码,但返回表只包含Chart和V1.sum_stat是data.frame

  sum_stat = data.table(spc_point[,c("CHART", "SUM", "SUM_SQUARES", "COUNT", "AVERAGE")])[,c(SUM_SUM=sum(SUM), SUM_SQUARE_SUM=sum(SUM_SQUARES), COUNT_SUM=sum(COUNT), AVERAGE_SUM=sum(AVERAGE)),by=list(CHART)]
Run Code Online (Sandbox Code Playgroud)

谢谢你

Sar*_*nas 6

我将提倡使用data.table.试试这个:

data<-data.table("Chart"=c("Chart1","Chart1","Chart2","Chart2"), "Sum"=c(2,3,4,5),"Sum_Squares"=c(4,9,16,25),"Count"=c(4,3,5,2),"Average"=c(1,1.5,2,2.5),key="Chart")
Run Code Online (Sandbox Code Playgroud)

然后简单地说:

summed.data<-data[,lapply(.SD,sum),by=Chart]
Run Code Online (Sandbox Code Playgroud)

找到data.table包,读取插图和常见问题 - 使用它:)