Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.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中的字符串条件_R_String_If Statement - Fatal编程技术网

解析R中的字符串条件

解析R中的字符串条件,r,string,if-statement,R,String,If Statement,我有一个字符串,希望R将其作为逻辑条件处理,以便在if循环中使用 condition <- "df$a > 2" 您可以使用parse和eval执行此操作。例如: condition <- "2 + 2" if (eval(parse(text = condition)) > 1) { print('true') } [1] "true" 条件1){ 打印('true') } [1] “对” 您可以使用parse和eval执行此操作。例如: condition

我有一个字符串,希望R将其作为逻辑条件处理,以便在if循环中使用

condition <- "df$a > 2"

您可以使用
parse
eval
执行此操作。例如:

condition <- "2 + 2"

if (eval(parse(text = condition)) > 1) {
  print('true')
}

[1] "true"
条件1){
打印('true')
}
[1] “对”

您可以使用
parse
eval
执行此操作。例如:

condition <- "2 + 2"

if (eval(parse(text = condition)) > 1) {
  print('true')
}

[1] "true"
条件1){
打印('true')
}
[1] “对”

只需从base R调用eval和parse函数即可实现

if(eval(parse(text = condition)){
  print(df$a)
}

只需从base R调用eval和parse函数即可实现

if(eval(parse(text = condition)){
  print(df$a)
}
可以使用parse(text=condition)将字符串解析为表达式。然后使用eval对表达式求值:

a <- 4
condition <- "a > 2"

if (eval(parse(text = condition))) {
  print(a)
}
a您可以使用parse(text=condition)将字符串解析为表达式。然后使用eval对表达式求值:

a <- 4
condition <- "a > 2"

if (eval(parse(text = condition))) {
  print(a)
}

a不清楚你在循环什么,但是如果你的data.frame有多行,你会在这里有多个条件(这对于使用
if(cond)…的控制流没有意义)
)不清楚你在循环什么,但是如果你的data.frame有多行,你会在这里有多个条件(这对于带有
if(cond)…
的控制流没有意义)