String 提取两列中匹配的值

String 提取两列中匹配的值,string,r,dataframe,String,R,Dataframe,我有两列大小不同的data.frame: type1 type2 user1 user1 user2 user4 user3 user6 user4 如何得到火柴?结果是 user1 user4 请参阅?匹配或类似的?%in%“: 请参阅?匹配或类似的?%in%“: 首先,data.frame中的列必须都具有相同的长度(请参阅),因此我将假设示例中的最后一个条目只是一个空字符串“” 您要查找的是两列的“交集”,即可以在两列中找到的元素。您可以使用intersect功能: d

我有两列大小不同的data.frame:

type1    type2
user1  user1
user2  user4
user3  user6
user4  
如何得到火柴?结果是

user1 
user4

请参阅
?匹配
或类似的
?%in%“


请参阅
?匹配
或类似的
?%in%“


首先,data.frame中的列必须都具有相同的长度(请参阅),因此我将假设示例中的最后一个条目只是一个空字符串“”

您要查找的是两列的“交集”,即可以在两列中找到的元素。您可以使用
intersect
功能:

df <- data.frame(type1 = c("user1", "user2", "user3", "user4"),
                 type2 = c("user1", "user4", "user6", ""))
df
#   type1 type2
# 1 user1 user1
# 2 user2 user4
# 3 user3 user6
# 4 user4      

intersect(df$type1, df$type2)
# [1] "user1" "user4"

df首先,data.frame中的列必须都具有相同的长度(请参阅),因此我将假设示例中的最后一个条目只是一个空字符串“”

您要查找的是两列的“交集”,即可以在两列中找到的元素。您可以使用
intersect
功能:

df <- data.frame(type1 = c("user1", "user2", "user3", "user4"),
                 type2 = c("user1", "user4", "user6", ""))
df
#   type1 type2
# 1 user1 user1
# 2 user2 user4
# 3 user3 user6
# 4 user4      

intersect(df$type1, df$type2)
# [1] "user1" "user4"
df