小编bro*_*l23的帖子

使用 tidyr 按字符串最后一次出现的位置分隔列

我有一个专栏想要分开:

df <- tibble(
  variable = c("var_a_min", "var_ab_max", "var_abc_mean", "var_abcd_sd"),
  value = c(1,2,3,4)
)
Run Code Online (Sandbox Code Playgroud)

数据如下:

# A tibble: 4 x 2
  variable     value
  <chr>        <dbl>
1 var_a_min        1
2 var_ab_max       2
3 var_abc_mean     3
4 var_abcd_sd      4
Run Code Online (Sandbox Code Playgroud)

我想分隔该variable列,以便最后一个下划线后面的内容成为第二列。

df %>% separate(variable, c("variable", "metric"), sep = [after last _])
Run Code Online (Sandbox Code Playgroud)

我尝试了一些正则表达式,但无法弄清楚。数据应如下所示:

# A tibble: 4 x 3
  variable metric value
  <chr>    <chr>  <dbl>
1 var_a    min        1
2 var_ab   max        2
3 var_abc  mean       3
4 var_abcd sd         4
Run Code Online (Sandbox Code Playgroud)

regex r tidyr tidyverse

1
推荐指数
1
解决办法
1265
查看次数

标签 统计

r ×1

regex ×1

tidyr ×1

tidyverse ×1