【问题标题】:if statement for if logical contains at least one TRUE (R)if 逻辑的 if 语句至少包含一个 TRUE (R)
【发布时间】:2022-07-11 21:59:17
【问题描述】:

我正在为输出是否包含特定字符串创建一个 if 语句。我正在使用正则表达式来做到这一点。

我正在使用 grepl() 函数来调查输出是否在变量“stockfish_response”中包含字符串“Final evaluation: none (in check)”。然后,它包含 FALSE 和 TRUE 的逻辑矩阵。例如:

假假假真假

grepl('Final evaluation: none \\(in check\\)', stockfish_response) 

要将其合并到 IF ELSE 语句中,我需要一个逻辑过程来检查该矩阵中是否至少存在一次 TRUE。如果逻辑矩阵至少包含一个 TRUE,是否有一个函数返回 TRUE,如果逻辑矩阵不包含 TRUE,则返回 FALSE。

例如:

grepl_output <- grepl('Final evaluation: none \\(in check\\)', stockfish_response) 

if (grepl_output == TRUE){
  print('the phrase \'Final evaluation: none (in check) string \' exists')
} else {
  print('the phrase \'Final evaluation: none (in check) string \' does not exist')
}

其中 grepl_output == TRUE 不仅限于列表中的第一个逻辑,如果列表中的任何值为 TRUE,则返回 TRUE

【问题讨论】:

    标签: r if-statement grep logical-operators


    【解决方案1】:

    你能用吗?

    if any(grepl_output == TRUE) {
      # do something ...
    }
    

    有关详细信息,请参阅 ?any。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-08
      相关资源
      最近更新 更多