-2 r dplyr data-cleaning
我有一个包含多年作为变量标题的数据框,其格式为:Y_1998、Y_1999 等,直至 2018 年。有什么方法可以在一行代码中重命名所有这些列,而不是对每个列使用重命名函数多变的?
小智 7
如果您的dplyr版本是>=1.0.0,那么您可以使用rename_with()选择帮助器之一(例如starts_with())来匹配列名称的模式。
library(tidyverse)
tibble(var1 = "a",
Y_1999 = 1, Y_2000 = 0, Y_2001 = 1, Y_2002 = 0,
some_other_var = "b") %>%
rename_with(.fn = ~ str_replace(.x, "Y_", "Year_"),
.cols = starts_with("Y_"))
Run Code Online (Sandbox Code Playgroud)