【发布时间】:2015-11-18 21:21:23
【问题描述】:
我有一个由客户和帐户组成的数据集,其中一个客户可以拥有多个帐户。数据集在每个帐户上都有几个“标志”。
我正在尝试计算每个客户对这些标志的“唯一”点击次数,即如果 3 个帐户有 flag1,我希望这算作 1 次点击,但如果只有一个帐户也有 flag2,我想要这个计为 2。本质上,我想查看每个客户在其所有帐户中点击了多少个标志。
Example Input data frame:
cust acct flag1 flag2 flag3
a 123 0 1 0
a 456 1 1 0
b 789 1 1 1
c 428 0 1 0
c 247 0 1 0
c 483 0 1 1
Example Output dataframe:
cust acct flag1 flag2 flag3 UniqueSum
a 123 0 1 0 2
a 456 1 1 0 2
b 789 1 1 1 3
c 428 0 1 0 2
c 247 0 1 0 2
c 483 0 1 1 2
我尝试使用以下方法:
fSumData <- ddply(fData, "cust", numcolwise(sum, c(flag1,flag2,flag3))
但是这也将acct 列相加,给每个客户一行我希望与客户拥有帐户的行数相同。
【问题讨论】: