【发布时间】:2018-04-07 07:30:39
【问题描述】:
假设我有 3 个字符向量。我想对它们进行一些评估,例如比较向量中的元素是否也在其他向量中找到。我不知道哪个向量最短,所以我想以编程方式计算它。
例如:
a <- c('Name','Type')
b <- c('Name','Age','Meta')
c <- c('ID','Gender','Color')
l1 <- list(a,b,c)
#print(l1)
l2 <- sapply(l1,length)
#print(l2)
pos <- which(l2==min(l2))
shortest <- l1[pos]
#print(shortest)
a1 <- l1[!seq(1,3) %in% pos][1]
a2 <- l1[!seq(1,3) %in% pos][2]
#print(a1)
#print(a2)
shortest[[1]][sapply(shortest,function(x) !x %in% unlist(c(a1,a2)))[,1]]
我想找到最短元素中的元素,但在其他两个元素中找不到。在这个例子中,我想得到“类型”作为结果。我也遇到了两个元素满足最小长度的问题(在这个例子中,长度是2,3,3,但我想处理2,2,3。希望能得到一些帮助。我需要在 11000 个列表上运行这个,比如 l1,我的向量长度最少为 20。
【问题讨论】:
标签: r