を抽出し、私は別のサイズを持つ2つの列のdata.frameを持っている:は、両方の列の値が一致
type1 type2
user1 user1
user2 user4
user3 user6
user4
マッチを取得する方法?結果は
user1
user4
を抽出し、私は別のサイズを持つ2つの列の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.を参照)ので、私はなりますあなたの例の最後のエントリが空の文字列 ""であると仮定してください。
あなたが探しているのは、2つの列の「交差点」、つまり両方の列にある要素です。そのために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"