我有data.frame兩列不同尺寸的該值:提取匹配兩列
type1 type2
user1 user1
user2 user4
user3 user6
user4
怎麼去比賽?該結果將是
user1
user4
我有data.frame兩列不同尺寸的該值:提取匹配兩列
type1 type2
user1 user1
user2 user4
user3 user6
user4
怎麼去比賽?該結果將是
user1
user4
見?match
或類似?"%in%"
:
df$type1[df$type1 %in% df$type2]
首先,在data.frame列都必須具有相同的長度(見http://cran.r-project.org/doc/manuals/R-intro.html#Data-frames.),所以我會假設你的例子中的最後一個條目只是一個空字符串「」。
您正在尋找的是您的兩列的「交集」,即可以在兩列中找到的元素。您可以使用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"