【问题标题】:Error when using extract function with argument regex: unused argument (regex =使用带有参数正则表达式的提取函数时出错:未使用的参数(正则表达式 =
【发布时间】:2021-11-27 21:23:30
【问题描述】:

我尝试运行以下代码:

library(tidyverse)
library(dplyr)
library(stringr)
library(tidyr)
tab %>% extract(x, c("feet", "inches"), regex = "(\\d)'(\\d{1,2})")

并期望得到以下输出:

 #> feet inches  
 #> 1 5 10  
 #> 2 6 1

但是,我收到以下错误:

Error in `[.data.frame`(., x, c("feet", "inches"), regex = "(\\d)'(\\d{1,2})", :  
 unused argument (regex = "(\\d)'(\\d{1,2})", remove = FALSE)

我尝试在谷歌上搜索错误,但无法理解为什么会显示该错误。请帮我纠正这个错误。提前致谢。

数据:

s <- c("5'10", "6'1")  
tab <- data.frame(x = s)

【问题讨论】:

    标签: r regex extract data-wrangling


    【解决方案1】:

    可能需要检查引号字符。否则,它应该与下面的可重现示例一起使用

    library(dplyr)
    library(tidyr)
    tab %>%
        extract(x, c("feet", "inches"), regex = "(\\d)'(\\d{1,2})", convert = TRUE)
    # A tibble: 2 × 2
       feet inches
      <int>  <int>
    1     5     10
    2     6      1
    

    由于从另一个包(即magrittr)加载extract 而发生错误。可能是 OP 加载了两个包,magrittr::extract 掩盖了tidyr::extract

    tab %>% 
       magrittr::extract(x, c("feet", "inches"), regex = "(\\d)'(\\d{1,2})", convert = TRUE)
    

    [.tbl_df(., x, c("feet", "inches") 中的错误,正则表达式 = "(\d)'(\d{1,2})",: 找不到对象“x”

    数据

    tab <- tibble(x = c("5'10", "6'1"))
    

    【讨论】:

      猜你喜欢
      • 2015-10-21
      • 1970-01-01
      • 2018-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多