如何在R

时间:2018-07-13 08:51:39

标签: r

我有这样的数据框:

     var1                           var2                     result  
 c("apple", "www")            c("apple", "zzz")           "apple" 
 c("dog", "cat", "kkk")       c("cat", "kkk")             "cat", "kkk"

我想在R的数据框中找到在这两个变量(var1和var2)中重叠的单词。

1 个答案:

答案 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"