R:在两个列表中查找相同的字符串



我有两个字符串列表,想找到两个列表中都有哪些字符串。

尝试将列表转换为向量,以便我可以使用相交或设置相等,但这将所有字符串转换为数字和(抱歉,如果有一个明显的答案我无法弄清楚(,我似乎无法在没有发生这种情况的情况下转换列表。

最好的前进方向是什么?

编辑:我有这些数据框:

dput(s)
structure(list(V1 = structure(c(3L, 2L, 1L, 4L), .Label = c("24d2afb212410711de0e237e5435e104", 
"2a3d9ca791a579a14883de538a012e24", "a90b03209a8095ec406809d89d5035c3", 
"f271eb38cc409c6bfe9dcf2bfcab8471"), class = "factor")), .Names = "V1", row.names = c(NA, 
-4L), class = "data.frame")
dput(r)
structure(list(V1 = structure(c(2L, 1L, 4L, 3L), .Label = c("24d2afb212410711de0e237e5435e104", 
"2a3d9ca791a579a14883de538a012e24", "7320e2e921df862968954d4b60e2a80a", 
"a9f47ec7c488d2bcddf2c1adc2bf6305"), class = "factor")), .Names = "V1", row.names = c(NA, 
-4L), class = "data.frame")

我想找到两者中的字符串,即

2a3d9ca791a579a14883de538a012e2424d2afb212410711de0e237e5435e104 .

as.character(( 不适用于保留这些字符串;是否有其他方法可以将它们转换为因子,或者是否有其他操作会更好?

您还需要在数据框中指定列。

有了intersect

intersect(r$V1, s$V1)
#[1] "2a3d9ca791a579a14883de538a012e24" "24d2afb212410711de0e237e5435e104"

有了grep

unlist(sapply(r$V1, function(i)grep(i, s$V1, value = TRUE)))
#[1] "2a3d9ca791a579a14883de538a012e24" "24d2afb212410711de0e237e5435e104"

相关内容

  • 没有找到相关文章

最新更新