如何检查变量列表是否具有特定值?

时间:2017-11-02 12:45:07

标签: r validation variables

我有一组变量,比如x, y, z, temp, p, k.... 我有一组测试值,比如说

1, TRUE, "kuku", -1, 0.5, "high"...

我想测试一组变量是否具有我提到的值作为示例。

让我举一个简单的例子:

x <- 3
y <- 4

检查x和[{1}}值是否在y

我尝试的是c(3,4),但它并不能满足我的需要。 我应该使用吗? 我正在寻找一个智能的一线解决方案或技巧,请指教。

2 个答案:

答案 0 :(得分:2)

使用allc,可以为您提供所需内容:

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

要检查变量中是否包含任何或所有值,请使用anyall

any(vals %in% vars)
## [1] TRUE
all(vals %in% vars)
## [1] FALSE