是否可以为使用pivot_longer
中参数names_to
的.value
选项生成的列名添加前缀?
示例:
df <- tibble(x1 = 0.1, x2 = 0.2, y1 = 0.05, y2 = 0.15)
df %>%
pivot_longer(cols = everything(),
names_to = c('coord_type', '.value'),
names_pattern = '(\\D+)(\\d+)')
# A tibble: 2 × 3
coord_type `1` `2`
<chr> <dbl> <dbl>
1 x 0.1 0.2
2 y 0.05 0.15
我希望1
和2
列的前面有前缀“coord_”。当然,我可以简单地在pivot_longger之后重命名它们,如下所示:
df %>%
pivot_longer(cols = everything(),
names_to = c('coord_type', '.value'),
names_pattern = '(\\D+)(\\d+)') %>%
rename_with(.fn = ~glue("coord_{.x}"), matches("[12]"))
# A tibble: 2 × 3
coord_type coord_1 coord_2
<chr> <dbl> <dbl>
1 x 0.1 0.2
2 y 0.05 0.15
但我很感兴趣的是,如果pivot_longer
有一些选择,这样做简洁。
1条答案
按热度按时间kyvafyod1#
我们可以使用
names_repair
,它可以接受函数