繁体   English   中英

查找向量的交集和向量列表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM