字符串中的比例逻辑匹配组合

时间:2019-03-06 12:31:39

标签: r boolean logic

当我想进行字符串匹配的组合时,例如R:我遇到了问题

X <- colnames(df[substr(colnames(df),start=1,stop=3) == "PEC" | substr(colnames(df),start=1,stop=5) == "PRE1_" & substr(colnames(df),start=1,stop=5) != "PEC3"])

X将成为未来线性回归的自变量的df。 X由PECZZZPRE1_ZZZ组成,其中Z字符是0到9之间的任何数字。PEC3是因变量。因此,由于第一个字符串匹配将具有PEC3,因为调用PEC意味着PEC3,所以我正在使用第三个字符串匹配将其删除。但是,上面的字符串匹配中的PEC3的结果是:

TRUE | FALSE & FALSE = TRUE

为什么?如果是TRUE | FALSE = TRUETRUE & FALSE = FALSE。还是不遵循从左到右的通用顺序规则?

1 个答案:

答案 0 :(得分:1)

R中的&|之前。在此处查看运营商及其顺序的完整列表:https://stat.ethz.ch/R-manual/R-patched/library/base/html/Syntax.html