我从A列中选取一个值(x)并在B(y)列中查找相应的值。然后我想知道列B(y)中的值是否与列A中的任何其他值相对应。但是,我不希望包含x的原始查询值。
这有点复杂,因为我试图使用lapply
同时使用多个值进行这些搜索x<-1
result<-data[data$a==x,"b"]
result1<- lapply(unique(as.numeric(unlist(result))), function(f)
data[data$b==f,"a"])
上面的代码有效,但result1仍然返回列b = x的值。 我试过用了!为了避免从列a中包含这个值,但是当它工作时似乎将我的输出从数字改为真/假。
有什么建议吗? 谢谢!
答案 0 :(得分:0)
result1<- lapply(unique(as.numeric(unlist(result))), function(f) x[x$b==f & x$a!=n,"a"])
修好了!
答案 1 :(得分:0)
我会分两部分来解决这个问题。首先,过滤除了您感兴趣的“a”和“b”的值之外的所有内容
tmp_data <- data[(data$b %in% result) & data$a !x,]
然后,从中创建列表输出:
list_of_bs <- lapply(split(tmp_data, data$a), function(df) df$b)