[英]Find Intersect of a Vector and List of Vectors
我有一个需要分类的各种食物的向量,如下所示:
myVector <- c("Banana", "Apple", "Spinach", "Lettuce", "Candy", "Soda")
我还有一份食物清单,分类如下:
myList <- list(Fruits = c("Orange", "Watermelon", "Banana", "Grape", "Apple", "Strawberry"),
Veggies = c("Spinach", "Onion", "Carrot", "Lettuce", "Sprouts", "Cucumber"),
Other = c("Soda", "Milk", "Water", "Candy"))
我想找到 myVector 与列表中每个元素的交集,而不必手动输入多个 intersect 语句,例如intersect(myList[[1]], myVector)
, intersect(myList[[2]], myVector)
等,因为当我分析不同的文本时, myList
中的元素数量可能会有所不同。 像这样的问题有点帮助,但我不想将 myList 中的向量相互比较,我只想将 myList 中的每个向量与 myVector 进行比较。
我们可以做
lapply(myList, intersect, y = myVector)
#$Fruits
#[1] "Banana" "Apple"
#
#$Veggies
#[1] "Spinach" "Lettuce"
#
#$Other
#[1] "Soda" "Candy"
解释: myList
的元素一个一个传给x
; myVector
被传递给y
。
## check arguments of `intersect()`
args(intersect)
#function (x, y)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.