R 字符串匹配组合中的命题逻辑

R 字符串匹配组合中的命题逻辑,r,boolean,logic,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"]) 为什么??如果TRUE | FALSE=TRUE,并且TRUE&FALSE=FALSE。或者它不遵循从

我在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"])

为什么??如果
TRUE | FALSE=TRUE
,并且
TRUE&FALSE=FALSE
。或者它不遵循从左到右的公共顺序规则?

在R
&
中位于
之前。有关运算符的完整列表及其顺序,请参见此处:

最好将每个块包装在paren中
TRUE | FALSE & FALSE = TRUE