Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 具有先前未知变量集的if条件_R - Fatal编程技术网

R 具有先前未知变量集的if条件

R 具有先前未知变量集的if条件,r,R,我没有找到这个问题的答案——我认为这是一个非常基本的问题。因此,如果我错过了一个已经存在的解决方案,我很抱歉,并将感谢链接到线程 我面临以下问题: 我想创建一个if条件,以确定观察值是否满足某些标准。然而,我想要测试的变量集是未知的,因为它们是在过程中创建的,并且可能会发生变化,这取决于输入模型的数据 我现在已经硬编码了变量名,如下所示: data$selectvar <- ifelse(data$crit1 == 1 | data$crit2 == 1 | data$crit3 == 1

我没有找到这个问题的答案——我认为这是一个非常基本的问题。因此,如果我错过了一个已经存在的解决方案,我很抱歉,并将感谢链接到线程

我面临以下问题:

我想创建一个if条件,以确定观察值是否满足某些标准。然而,我想要测试的变量集是未知的,因为它们是在过程中创建的,并且可能会发生变化,这取决于输入模型的数据

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

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

data$selectvar有很多方法,但是如果你想使用ifelse,你可以试试这个

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

签出
包含
dplyr开始
可能?
数据[grepl(“^crit”,名称(数据))]==1
?@r2evans谢谢!愚蠢的问题,但是
^
的功能是什么?另外,如果有人面临类似的问题,在我使用的代码下面(我必须使用
any
):
dat$selectvar我很高兴你发现你需要
any
“^”
是正则表达式的一部分,它表示“字符串的开始”。例如,对于该模式,
“crit5”
将匹配,但不匹配
“acrit6”
。这可能不是必需的,在数据未知的情况下,使用正则表达式提供可靠的建议是非常困难的。谢谢!对我来说,问题是如果我使用这个函数,它似乎只对带有该字符串的第一列有效,如果其他列是
TRUE
,则输出列仍然是
0
。如果我添加
any()
它似乎工作正常(请参阅原始问题下的注释)。