我有一个数据框,a:
> a
GID 1 2 3 4 5 6 7 8 9 10
1 A 0.2616485 -0.1521032 -0.01281316 0.05029606 -0.01940657 0.1624178 0.14714370 0.08642461 -0.1191233 -0.01845165
2 A 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.0000000 0.00000000
3 B 0.1107565 0.1632392 -0.08760204 0.04475998 -0.10835387 -0.0827655 -0.08058794 0.15288650 -0.1120538 -0.02297707
4 B 0.0000000 0.0000000 0.00000000 0.00000000 0.00000000 0.0000000 0.00000000 0.00000000 0.0000000 0.00000000
我正在寻找一种方法来获得一个新的数据帧(b),它将数据帧a的行与GID列中的行相加:
> b
GID 1 2 3 4 5 6 7 8 9 10
1 A 0.2616485 -0.1521032 -0.01281316 0.05029606 -0.01940657 0.1624178 0.14714370 0.08642461 -0.1191233 -0.01845165
3 B 0.1107565 0.1632392 -0.08760204 0.04475998 -0.10835387 -0.0827655 -0.08058794 0.15288650 -0.1120538 -0.02297707
优选使用碱溶液。
答案 0 :(得分:4)
使用aggregate
:
aggregate(.~GID,data=dat,sum)
编辑
为了获得更好的效果,您可以尝试data.table
:
library(data.table)
DT <- as.data.table(dat)
DT[,lapply(.SD,sum),by='GID']