迁移 R 和 RStudio 后出现错误"无效的正则表达式"[:alpha:]+



在迁移到新电脑并安装RStudio 1.4.1717后,我在运行在RStudio1.3.959下编写的代码时遇到了问题。当通过基R(4.1.0(运行代码时,也会出现同样的错误。当使用基R函数(grep,gregexpr,例如gregexper("[:alpha:]+","1234a"((时,不会出现错误消息。

代码:

library(tidyverse)
data_files <- as.data.frame(list.files(data_folder)) 
data_files <- data_files %>%
mutate(temp = data_files[,1]) %>%
separate("temp",
c("temp", "Trash"),
sep = "\.") %>%
select(-"Trash") %>%
separate("temp",
c("run", "Trash"),
sep = "[:alpha:]+", 
remove = FALSE) %>%
select(-"Trash") %>%
separate("temp",
c("Trash", "letters"),
sep = "[:digit:]+") %>%
select(-"Trash") %>%
select("run", "letters") 

我的data_folder包含具有名称模式的csv文件(date-increment-letter.csv,例如21021202a.csv(

错误消息:

Error in gregexpr(pattern, x, perl = TRUE) : 
invalid regular expression '[:alpha:]+'
In addition: Warning message:
In gregexpr(pattern, x, perl = TRUE) : PCRE pattern compilation error
'POSIX named classes are supported only within a class'
at '[:alpha:]+'

使用dput:的可复制示例

data_files <- as.data.frame(list.files(icpms_folder))  
dput(head(data_files)) 
structure(list(list.files(icpms_folder) = c("21021202a.csv", 
"21021202b.csv", 
"21021202c.csv", 
"21021203a.csv", 
"21021203b.csv", 
"21021203c.csv")), 
row.names = c(NA, 6L), class = "data.frame")

你能告诉我我新安装的东西少了什么吗?

提前谢谢!

;为什么";已在错误消息中:POSIX命名类仅在类中受支持。

POSIX命名类类似于[:digit:][:alpha:]等。

通过">";,消息作者指的是字符类,即[...]

把一个放在另一个里面:

sep = '[[:alpha:]]+'

最新更新