我有一个这样的数据框:
A B Ind
1 10 8 1
2 9 10 2
3 7 1 2
4 19 20 1
5 . . .
如何根据 Ind
值对列求和?如果 Ind==1
,从列 A
求和,如果 Ind==2
,从列 B
求和。例如,前 4 行的输出应为 10+10+1+19=30
,其中前 10 行在 A
中,后 10 行在 B
,第三个1在B
中,第四个19在A
中。
最佳答案
另一个使用 I
sum(with(dat,A*I(Ind==1)+B*(Ind==2)))
关于r - 基于指标的条件总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15529349/