【发布时间】:2018-08-21 16:22:51
【问题描述】:
假设我有一个像这样的数据框:
library(tidyverse)
index <- 1:1000
df1 <- data.frame(index = glue::glue('index[{index}]'),
X = rnorm(1000))
我想要mutate 索引,所以它是一个数字变量,括号内是数字。我可以用这段代码做到这一点:
df2 <- df1 %>% mutate(index = gsub(pattern = 'index[', replacement = '', x = index, fixed = T),
index = gsub(pattern = ']', replacement = '', x = index, fixed = T),
index = as.numeric(index))
我确信使用正则表达式有更好的方法。理想情况下,我想要一些与[ 之前的文本无关的东西。
【问题讨论】:
-
你能保证括号内只有数字吗?或者您是否需要忽略
[之前文本中的数字。 (附带说明一下,使用正则表达式可能需要更少的代码字符,但使用fixed = TRUE进行简单替换可能会更高效。) -
是的,括号内只有数字