dplyr :: matches和stringr :: str_view有什么区别?

时间:2017-07-25 18:20:42

标签: r dplyr stringr

我正在尝试从一个以4个大写字母命名的data.frame中提取所有列。

当我具体命名字母时,我可以找到列,即

library(dplyr)
library(stringr)

df <- data.frame(
  abc = NA,
  abcd = NA,
  ABCD = NA,
  ABCDEF = NA,
  abcdefg = NA
)

str_view(names(df),"^[ABCDEFG]{4}$")
select(df,matches("^[ABCDEFG]{4}$", ignore.case = FALSE))

两者都只返回ABCD列。

但是当我尝试使用特殊的[:upper:]类时,它适用于str_view但不适用于匹配...

str_view(names(df),"^[:upper:]{4}$")
select(df,matches("^[:upper:]{4}$"))

这是一个错误还是我错过了什么?

0 个答案:

没有答案