在r中提取值

发布于 2025-01-30 00:38:56 字数 1035 浏览 1 评论 0原文

我有一个df,列为' error(range)'的DF包含具有错误范围的值,如下所示,

误差(范围)
25(20-30)
42(39-48)
35(32-38) )

但是我想提取值,我的DF列应该看起来像,

错误误差_min error_max
252030
423948
353238

有人可以帮助我进行R中的编码来实现这一目标吗?

I have a df with column named 'error (range)' containing the values with error range like below,

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

But I want to extract the values and my df columns should look like,

errorerror_minerror_max
252030
423948
353238

Can anyone help me with the coding in R to achieve this ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

猫烠⑼条掵仅有一顆心 2025-02-06 00:38:56
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
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
无人接听 2025-02-06 00:38:56

基础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
))

In base R, read with read.table after removing the brackets and - with 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

data

df <- structure(list(`error (range)` = c("25 (20 - 30)", "42 (39 - 48)", 
"35 (32 - 38)")), class = "data.frame", row.names = c(NA, -3L
))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文