首页 > 解决方案 > 更改 R 中的某些列名

问题描述

我想用这段代码更改我的第 4 列和第 5 列的列名,但它不起作用。

colnames(df[,4:5]) <- paste(colnames(df[,4:5]), "13", sep= "_")

如果我删除 [,4:5] 并更改整个数据框的列名,它会起作用。

colnames(df) <- paste(colnames(df), "13", sep= "_")

但我想要的输出只是更改第 4 列和第 5 列。谢谢。

标签: r

解决方案


使用它要容易得多dplyr::rename()

只需使用df %>% rename(new_name = old_name),您就完成了!

这是一个例子

library(dplyr)
head(mtcars, n = 2)
              mpg cyl disp  hp drat    wt  qsec vs am gear carb
Mazda RX4      21   6  160 110  3.9 2.620 16.46  0  1    4    4
Mazda RX4 Wag  21   6  160 110  3.9 2.875 17.02  0  1    4    4

mtcars_new = mtcars %>% rename(new_mpg = mpg)

head(mtcars_new, n = 2)
              new_mpg cyl disp  hp drat    wt  qsec vs am gear carb
Mazda RX4          21   6  160 110  3.9 2.620 16.46  0  1    4    4
Mazda RX4 Wag      21   6  160 110  3.9 2.875 17.02  0  1    4    4

推荐阅读