使用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()
)
remove <- c("AAA_BBB[0-9]_", "lev", "_") tibble( AAA_BBB1_P1_Elev = as.double(), AAA_BBB2_P2_Elev = as.double(), AAA_BBB2_P3_Elev = as.double() ) %>% rename_all(~ str_remove_all(., paste(remove, collapse = "|"))) %>% rename_at(vars(ends_with("E")), ~ paste0("BBB1-", .x)) # A tibble: 0 x 3 # ... with 3 variables: `BBB1-P1E`, `BBB1-P2E` , `BBB1-P3E`
- Nick_
和以 Elev 结尾的_
。 - akrun