【发布时间】:2017-08-20 18:14:54
【问题描述】:
我有一个数据框:
Y X1 X2 X3
1 1 0 1
1 0 1 1
0 1 0 1
0 0 0 1
1 1 1 0
0 1 1 0
我想根据等于1(即sum(Y=1|Xi =1)的其他列对Y 列中的所有行求和。例如,对于列X1,s1 = sum(Y=1|Xi =1) =1 + 0 +1+0 =2
Y X1
1 1
0 1
1 1
0 1
对于X2 列,s2 = sum(Y=1|Xi =1) = 0 +1+0 =1
Y X2
0 1
1 1
0 1
对于X3 列,s3 = sum(Y=1|Xi =1) = 1+1 +0+0 =2
Y X3
1 1
1 1
0 1
0 1
我有一个粗略的想法,将apply(df, 2, sum) 用于数据框的列,但我不知道如何根据Xi 对每一列进行子集化,然后计算Y. 的sum 任何帮助表示赞赏!
【问题讨论】:
-
您是否可以按列手动执行此操作,还是希望为一大堆列自动执行此操作?
-
我希望它为一大堆列完成
-
仅供参考,您下次可能想
dput您的数据,以便您的回答者更容易重现。一些指导:stackoverflow.com/questions/5963269/…