if-condition与之前未知的变量集合

时间:2017-09-01 07:55:05

标签: r

我没有找到答案 - 在我看来非常基本 - 问题。因此,如果我错过了现有的解决方案,我很抱歉,并希望链接到该主题。

我遇到以下问题:

我想创建一个if条件,无论观察是否符合某些标准。但是,我想测试的变量集是未知的,因为它们是在流程中创建的,可能会发生变化,具体取决于输入模型的数据。

我现在已对变量名进行了硬编码,如下所示:

data$selectvar <- ifelse(data$crit1 == 1 | data$crit2 == 1 | data$crit3 == 1, 1, 0)

在上面的示例中,可能会出现这样的情况:例如,我在数据集crit1中只有crit3data,而不是crit2。因此if条件会在这些情况下引发错误。

我命名变量的方式是它们都有相同的前缀,所以也许有办法使用grepl或类似的,但我不知道如何。

1 个答案:

答案 0 :(得分:0)

有很多方法可以做到,但是如果你想使用ifelse那么你可以试试这个..

ifelse(data[,grep("crit",colnames(data))]==1,1,0)