【发布时间】:2016-01-27 15:26:40
【问题描述】:
我有一个 8 列的数据框,其中每一列相加得到总数。然后我必须合并前 2 列的总和,然后是下 2 列的总和,然后是下 2 列的总和,以此类推,这样我就剩下 4 列(前 2 列的总和,下 2 列的总和,等等......)。 以下是数据示例:
A B A1 B1 A2 B2 A3 B3
1 2 1 2 1 1 3 1
2 3 1 1 3 3 2 1
5 6 6 4 3 2 1 1
这是我使用的代码,我能够成功地做到这一点:
ColumnSums<-lapply(ColumnSums, function(x) sum(x))
AB<-ColumnSums$A+ColumnSums$B
A1B1<-ColumnSums$A1+ColumnSums$B1
A2B2<-ColumnSums$A2+ColumnSums$B2
A3B3<-ColumnSums$A3+ColumnSums$B3
CombinedTotals<-c(AB,A1B1,A2B2,A3B3)
names(CombinedTotals)<-c("AB","A1B1","A2B2","A3B3")
我只是想知道是否有办法减少这段代码。具体来说,我的代码的第二部分。我必须手动将每个总数合并为 2 列。我想知道是否有办法使该过程自动化。
【问题讨论】:
-
是的,有办法:)