我有这样的数据框:
var1 var2 result
c("apple", "www") c("apple", "zzz") "apple"
c("dog", "cat", "kkk") c("cat", "kkk") "cat", "kkk"
我想在R的数据框中找到在这两个变量(var1和var2)中重叠的单词。
答案 0 :(得分:3)
我认为data.frame()不能将向量作为单独的元素来处理,因此我使用了data_frame()
包中的tibble
:
df <- tibble::data_frame(var1 = list(c("apple", "www"), c("dog", "cat", "kkk")), var2 = list(c("apple", "zzz"), c("cat", "kkk")))
逐行应用函数,其中函数采用第一和第二列表元素的交集:
apply(df, 1, function(x) intersect(x[[1]], x[[2]]))
[[1]]
[1] "apple"
[[2]]
[1] "cat" "kkk"