我想从我的代码的逻辑来确定 我试图得到一个以上订单的人知道保留率的情况,但是如果客户订购了4个项目,那么订单的日期将有4个值,但相同的日期重复,所以我想只考虑一个订单,所以以下是正确的?p> 保留率% 选择(电子邮件,`在`)创建%>% 分组人(电子邮件)%>% 总结(订单数量=长度(唯一(`Created at`))%>% 过滤器(订单数量>1)
以下是数据的外观:我想从我的代码的逻辑来确定 我试图得到一个以上订单的人知道保留率的情况,但是如果客户订购了4个项目,那么订单的日期将有4个值,但相同的日期重复,所以我想只考虑一个订单,所以以下是正确的?p> 保留率% 选择(电子邮件,`在`)创建%>% 分组人(电子邮件)%>% 总结(订单数量=长度(唯一(`Created at`))%>% 过滤器(订单数量>1),r,dplyr,R,Dplyr,以下是数据的外观: Email `Created at` aalice@amail.com 2019-10-20 12:08:40 +0200 alice@amail.com 2019-10-20 12:08:40 +0200 alice@amail.com 2019-10-20 12:08:40 +0200 bob@bmail.com 2019-10-20 12:08:25 +0200 caitlyn@cmail.com 2019-10-20 11:2
Email `Created at`
aalice@amail.com 2019-10-20 12:08:40 +0200
alice@amail.com 2019-10-20 12:08:40 +0200
alice@amail.com 2019-10-20 12:08:40 +0200
bob@bmail.com 2019-10-20 12:08:25 +0200
caitlyn@cmail.com 2019-10-20 11:26:59 +0200
dave@dmail.com 2019-10-20 11:13:45 +0200
dave@dmail.com 2019-10-20 11:13:45 +0200
我认为原则上你的代码应该是有效的。但是,如果您的数据包含通常不具信息性的重复项,另一种方法是在相对较早的时间(即读取数据之后)使用
dplyr
的distinct()
函数删除这些重复行,因为这也会加快您的脚本速度,并可能防止重复出现其他问题
顺便说一句:我希望这些不是您数据库中的真实电子邮件地址?;) 长度(唯一的
可以在dplyr