【发布时间】:2019-03-06 12:31:38
【问题描述】:
当我想组合字符串匹配时,我在 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 由PECZZZ、PRE1_ZZZ 组成,其中Z 字符是0 到9 之间的任意数字。PEC3 是因变量。因此,由于第一个字符串匹配将具有PEC3,因为调用PEC 意味着PEC3,我正在使用第三个字符串匹配来删除它。但是,上面字符串匹配中PEC3 的结果是:
TRUE | FALSE & FALSE = TRUE
为什么?如果TRUE | FALSE = TRUE 和TRUE & FALSE = FALSE。还是不遵循从左到右的共同顺序规则?
【问题讨论】:
-
最好将每个块包裹在括号内