如何通过dplyr包

时间:2018-04-23 06:13:35

标签: r dplyr data-manipulation

我只是想在R上实现一个东西。这是解释,

我的数据集包含相同的值,请找到以下数据集,

A           B
1122513454  0
1122513460  0
1600041729  0
2100002632  147905
2840007103  0
2840064133  138142
3190300079  138040
3190301011  138120
3680024411  0
4000000263  4000000263
4100002263  4100002268
4880004352  138159
4880015611  138159
4900007044  0
7084781116  142967
7124925306  0
7225002523  7225001325
23012600000 0
80880593057 0
98880000045 0

我有两列(A& B)。在b列中,我有相同的值(138159,138159)。它出现两次。

我只是想进行一次计算,它将获得相同的值,它将被计为1.这意味着,我得到两个138159,但这将被视为1.最后它将计算整个b列除了0之外的值。这意味着,0在这里是10次而另一个值也是10次,但是138519出现2次,所以它将被计为1,所以其他值是9次,最后它只给我其他值count.ie 9。

所以我的预期输出为9

我已经在excel中完成了这个。但是,想要在R中实现相同的目标。有没有办法在R by dplyr包中做到这一点?

我在excel中编写了以下公式,

=+SUMPRODUCT((I2:I14<>0)/COUNTIFS(I2:I14,I2:I14))

如何在没有0的情况下只计算其他值的记录?

你们可以帮助我吗?

任何建议都非常明显。

编辑1:我已按照以下方式完成此操作,

abc <- hardy[hardy$couponid !=0,]

undertaker <- abc %>% group_by(TYC) %>% summarise(count_couponid= n_distinct(couponid))

任何聪明的方法吗?

由于

0 个答案:

没有答案