首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R检查电子邮件地址是否有多个客户if。

R检查电子邮件地址是否有多个客户if。
EN

Stack Overflow用户
提问于 2016-09-01 14:42:04
回答 2查看 50关注 0票数 1

如果一个电子邮件地址在一个数据帧中有多个客户ID,我想签入R。

代码语言:javascript
复制
client_ID email
1         a@a.com
2         a@a.com
3         b@b.com
3         b@b.com

结果我正在寻找(a@a.com有多个ID):

代码语言:javascript
复制
client_ID email
1         a@a.com
2         a@a.com

如何选择具有多个客户ID的电子邮件地址?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-01 15:27:31

我们也可以用data.table来完成这个任务。将“data.frame”转换为“Data.table”(setDT(df1)),按“电子邮件”分组,“client_ID”的unique号大于1,则得到Data.table的子集。

代码语言:javascript
复制
library(data.table)
setDT(df1)[, if(uniqueN(client_ID) > 1) .SD, email]
#     email client_ID
#1: a@a.com         1
#2: a@a.com         2
票数 0
EN

Stack Overflow用户

发布于 2016-09-01 14:53:08

假设df是您的data.frame,如下所示

代码语言:javascript
复制
> df
  client_ID   email
1         1 a@a.com
2         2 a@a.com
3         3 b@b.com
4         3 b@b.com

那么,一个可能的解决办法就是..。

代码语言:javascript
复制
> result <- lapply(split(df, df$email), function(x) x[all(!duplicated(x$client_ID))] )
> result <- data.frame(result)
> names(result) <- names(df)
> result
  client_ID   email
1         1 a@a.com
2         2 a@a.com
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39274562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档