【发布时间】:2018-03-07 15:26:36
【问题描述】:
我有一个大型数据集,我想使用 lapply 函数对 1 列求和。但我有问题,其他列消失了。我想保留它们。
我有一个例子给你:)
示例:
我有这个数据集:
X Y Z date columnSum
1: A a1 z1 2018.01 4
2: A a1 z1 2018.01 4
2: B a2 z3 2018.02 10
2: B a2 z5 2018.02 30
2: B a2 z5 2018.02 10
3: C a2 z3 2018.02 10
4: D a3 z4 2018.03 0
4: D a3 z6 2018.03 0
我想将“columnSum”与“X”、“Y”和“date”相加.我想保留列“Z”
我试过了:
DT[, lapply(.SD,sum,na.rm=TRUE), .SDcols="columnSum", by=list(X,Y,date)]
今天我有这个结果:
X Y date columnSum
1: A a1 2018.01 8
2: B a2 2018.02 50
3: C a2 2018.02 10
4: D a3 2018.03 0
我想要这个结果:
X Y Z date columnSum
1: A a1 z1 2018.01 8
2: B a2 z3 2018.02 50
3: B a2 z5 2018.02 50
4: C a2 z3 2018.02 10
5: D a3 z4 2018.03 0
6: D a3 z6 2018.03 0
【问题讨论】:
标签: r sum data.table lapply