Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 在数据框中选择相似和唯一的值_R - Fatal编程技术网

R 在数据框中选择相似和唯一的值

R 在数据框中选择相似和唯一的值,r,R,我有以下数据 df = data.frame(email_one=c("one@gkn.com","two@wern.com","three@fu.cin", "four@huo.com","five@hoi.com"), email_two=c("ten@hoinse.com", "four@huo.com","two@wern.com","five@hoi.com","six@ihoio.com")) 我想知道是否可以使用R来选择出现在两列中的值、仅出现在第

我有以下数据

df = data.frame(email_one=c("one@gkn.com","two@wern.com","three@fu.cin",
        "four@huo.com","five@hoi.com"), email_two=c("ten@hoinse.com",
        "four@huo.com","two@wern.com","five@hoi.com","six@ihoio.com"))
我想知道是否可以使用R来选择出现在两列中的值、仅出现在第一列中的唯一值以及仅出现在第二列中的唯一值

我最初试图在excel中解决这个问题,但我假设在R中有一个更优雅的解决方案,甚至可以使用sqldf包。最好使用内置函数,而不是充满各种条件语句的用户定义函数 df$email\u one==df$email\u two


有人能帮我指出正确的方向吗。

你怀疑这些操作会有内置函数是对的。在本例中,您希望函数intersect和setdiff与帮助页面上的一些相关函数一起记录

# Elements present in both columns
intersect(df[[1]], df[[2]])
[1] "two@wern.com" "four@huo.com" "five@hoi.com"

# Elements of column 1 that are not in column 2 
setdiff(df[[1]], df[[2]])
[1] "one@gkn.com"  "three@fu.cin"

# Elements of column _2_ that are not in column _1_
setdiff(df[[2]], df[[1]])
[1] "ten@hoinse.com" "six@ihoio.com" 

您正确地怀疑这些操作会有内置函数。在本例中,您希望函数intersect和setdiff与帮助页面上的一些相关函数一起记录

# Elements present in both columns
intersect(df[[1]], df[[2]])
[1] "two@wern.com" "four@huo.com" "five@hoi.com"

# Elements of column 1 that are not in column 2 
setdiff(df[[1]], df[[2]])
[1] "one@gkn.com"  "three@fu.cin"

# Elements of column _2_ that are not in column _1_
setdiff(df[[2]], df[[1]])
[1] "ten@hoinse.com" "six@ihoio.com"