我没有找到答案 - 在我看来非常基本 - 问题。因此,如果我错过了现有的解决方案,我很抱歉,并希望链接到该主题。
我遇到以下问题:
我想创建一个if条件,无论观察是否符合某些标准。但是,我想测试的变量集是未知的,因为它们是在流程中创建的,可能会发生变化,具体取决于输入模型的数据。
我现在已对变量名进行了硬编码,如下所示:
data$selectvar <- ifelse(data$crit1 == 1 | data$crit2 == 1 | data$crit3 == 1, 1, 0)
在上面的示例中,可能会出现这样的情况:例如,我在数据集crit1
中只有crit3
和data
,而不是crit2
。因此if条件会在这些情况下引发错误。
我命名变量的方式是它们都有相同的前缀,所以也许有办法使用grepl
或类似的,但我不知道如何。
答案 0 :(得分:0)
有很多方法可以做到,但是如果你想使用ifelse那么你可以试试这个..
ifelse(data[,grep("crit",colnames(data))]==1,1,0)