在 R 中提取括号内的值

Extracting values within bracket in R

我有一个 df,其中包含名为“error (range)”的列,其中包含错误范围如下所示的值,

error (range)
25 (20 - 30)
42 (39 - 48)
35 (32 - 38)

但我想提取值,我的 df 列应该如下所示,

error error_min error_max
25 20 30
42 39 48
35 32 38

任何人都可以帮助我在 R 中进行编码以实现此目的吗?

library(tidyverse)
df %>%
   set_names('error')%>%
   separate(error, c('error', 'error_min', 'error_max'), 
                convert = TRUE, extra = 'drop')

  error error_min error_max
1    25        20        30
2    42        39        48
3    35        32        38

base R中,删除括号后用read.table阅读,用gsub

阅读-
read.table(text=gsub("\(|\)|-", "", df[["error (range)"]]), 
  header = FALSE, strip.white = TRUE, fill = TRUE, 
  col.names = c("error", "error_min", "error_max"))
  error error_min error_max
1    25        20        30
2    42        39        48
3    35        32        38

数据

df <- structure(list(`error (range)` = c("25 (20 - 30)", "42 (39 - 48)", 
"35 (32 - 38)")), class = "data.frame", row.names = c(NA, -3L
))