【发布时间】:2021-10-01 07:47:54
【问题描述】:
我已经成功使用tidyr 的函数extract 有一段时间了,但不能再让它工作。这是一个简单的玩具箱,我想将full_name 分成First_name 和Second_name:
df <- data.frame(
full_name = c("Peter Paul", "Mike Scott")
)
但是,使用 extract 会引发错误:
library(tidyr)
df %>%
extract(col = full_name, into = c("First_name", "Second_Name"), regex = "(.*)\\s(.*)")
Error in stopifnot(is.numeric(maxDist), maxDist >= 0, length(pattern) == :
argument "pattern" is missing, with no default
问题似乎不是由于正则表达式;我也无法让 extract 使用经过验证的正则表达式与其他数据一起运行!
【问题讨论】:
-
您可能正在使用来自另一个包的
extract。试试tidyr::extract(df, col = full_name, into = c("First_name", "Second_Name"), regex = "(.*)\\s(.*)") -
@RonakShah
stringdist::extract重现同样的错误:D -
哦,好吧,所以
extract在dplyr内部不起作用? -
它有效,但我认为您的默认
extract现在是stringdist::extract而不是tidyr::extract。