例如,假设我有两个数据框...
d1 <- data.frame(c(a,b,c,d,e,f))
d2 <- data.frame(c(a,a,a,b,b,d,d,d,d,d,e,e,f))
我想从d2中的d1中搜索“ a”,并揭示每个匹配值的索引,这些索引可以存储在向量中。
我已经搜索并使用Match()函数,但是这仅在只有一个匹配值时才起作用。
谢谢
要将一个数据帧中的值与另一个数据帧中的多个值进行匹配,可以遍历第一个data.frame并为每个值获取第二个索引。
d1 <- data.frame(x = c("a","b","c","d","e","f"), stringsAsFactors = F)
d2 <- data.frame(x = c("a","a","a","b","b","d","d","d","d","d","e","e","f"), stringsAsFactors = F)
sapply(d1$x, function(value) which(d2 == value))
#> $a
#> [1] 1 2 3
#>
#> $b
#> [1] 4 5
#>
#> $c
#> integer(0)
#>
#> $d
#> [1] 6 7 8 9 10
#>
#> $e
#> [1] 11 12
#>
#> $f
#> [1] 13
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句