如果一个电子邮件地址在一个数据帧中有多个客户ID,我想签入R。
client_ID email
1 a@a.com
2 a@a.com
3 b@b.com
3 b@b.com结果我正在寻找(a@a.com有多个ID):
client_ID email
1 a@a.com
2 a@a.com如何选择具有多个客户ID的电子邮件地址?
发布于 2016-09-01 15:27:31
我们也可以用data.table来完成这个任务。将“data.frame”转换为“Data.table”(setDT(df1)),按“电子邮件”分组,“client_ID”的unique号大于1,则得到Data.table的子集。
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发布于 2016-09-01 14:53:08
假设df是您的data.frame,如下所示
> df
client_ID email
1 1 a@a.com
2 2 a@a.com
3 3 b@b.com
4 3 b@b.com那么,一个可能的解决办法就是..。
> 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.comhttps://stackoverflow.com/questions/39274562
复制相似问题