gpt4 book ai didi

R 使用 rename_with() 用通配符重命名多个列

转载 作者:行者123 更新时间:2023-12-04 08:05:40 25 4
gpt4 key购买 nike

图书馆(tidyverse)
我想重命名一堆列,我尝试在 R 中使用 rename_at() 或 rename_with() 但没有太大成功,有人可以帮忙吗?非常感谢您的帮助。
原始数据框列名称

tibble(
AAA_BBB1_P1_Elev = as.double(),
AAA_BBB2_P2_Elev = as.double(),
AAA_BBB2_P3_Elev = as.double()
)
想要将列名更改为
tibble(
`BBB1-P1E` = as.double(),
`BBB1-P2E` = as.double(),
`BBB1-P3E` = as.double()
)

最佳答案

我们可以使用 rename_allstr_replace

library(dplyr)
library(stringr)
tbl2 <- tbl1 %>%
rename_all(~ str_replace_all(str_replace(., '^[^_]+_(.*)_(.)[^.]+$', "\\1\\2"), '_', "-"))
-输出
tbl2
# A tibble: 0 x 3
# … with 3 variables: `BBB1-P1E` <dbl>, `BBB2-P2E` <dbl>, `BBB2-P3E` <dbl>
数据
tbl1 <- structure(list(AAA_BBB1_P1_Elev = numeric(0), AAA_BBB2_P2_Elev = numeric(0), 
AAA_BBB2_P3_Elev = numeric(0)), row.names = integer(0), class = c("tbl_df",
"tbl", "data.frame"))

关于R 使用 rename_with() 用通配符重命名多个列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66232995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com