我有一组变量,比如x, y, z, temp, p, k....
我有一组测试值,比如说
1, TRUE, "kuku", -1, 0.5, "high"...
我想测试一组变量是否具有我提到的值作为示例。
让我举一个简单的例子:
x <- 3
y <- 4
检查x
和[{1}}值是否在y
。
我尝试的是c(3,4)
,但它并不能满足我的需要。
我应该使用吗?
我正在寻找一个智能的一线解决方案或技巧,请指教。
答案 0 :(得分:2)
使用all
和c
,可以为您提供所需内容:
all(c(x, y) %in% c(3, 4))
#[1] TRUE
答案 1 :(得分:1)
将变量放在列表中,将测试值放在另一个列表中,让%in%
处理剩下的事情:
x = "kuku"
y = 1
z = FALSE
vars = list(x, y, z)
vals = list(1, TRUE, "kuku", 2)
vals %in% vars
## [1] TRUE FALSE TRUE FALSE
结果是一个与vals
长度相同的向量,其i
元素表示vals[i]
中是否可以找到vars
。
要检查变量中是否包含任何或所有值,请使用any
或all
any(vals %in% vars)
## [1] TRUE
all(vals %in% vars)
## [1] FALSE