假设我有一个类似这样的数据框:
我想对
df<-data.frame(A.1=1:5,B.1=2:6,C.1=3:7,
D.2=4:8,E.2=5:9,F.2=6:10)
df
A.1 B.1 C.1 D.2 E.2 F.2
1 1 2 3 4 5 6
2 2 3 4 5 6 7
3 3 4 5 6 7 8
4 4 5 6 7 8 9
5 5 6 7 8 9 10
我想对
df
的列名(例如c(1,1,1,2,2,2)
)进行分组,并使用rowSums()
函数,输出如下: 1 2
[1,] 6 15
[2,] 9 18
[3,] 12 21
[4,] 15 24
[5,] 18 27
我的真实数据集包括来自18个组的超过110K个cols
,我希望找到一种优雅且易于实现的方法。
data.frame(lapply(split.default(df, sub('^.\\.', '', names(df))), rowSums))
- acylam