
数据结构
|
165
5.23 修改数据框的列名
5.23.1 问题
需要更改数据框列的名称。
5.23.2 解决方案
dplyr 包中的 rename 函数使重命名非常简单:
df %>% rename(
newname
1
=
oldname
1
, ... ,
newname
n
=
oldname
n
)
其中 df 是数据框,
oldnamei
是 df 中列的名称,
newnamei
是所需的新名称。
注意,参数顺序为
newname
=
oldname
。
5.23.3 讨论
数据框列必须具有名称。你可以使用 rename 函数更改它们:
df <- data.frame(V1 = 1:3, V2 = 4:6, V3 = 7:9)
df %>% rename(tom = V1, dick = V2)
#> tom dick V3
#> 1 1 4 7
#> 2 2 5 8
#> 3 3 6 9
列名存储在名为 colnames 的属性中,因此重命名列的另一种方法是更改该属性:
colnames(df) <- c("tom", "dick", "V2")
df
#> tom dick V2
#> 1 1 4 7
#> 2 2 5 8
#> 3 3 6 9
如果你恰好使用 select 来选择单个列,则可以同时重命名这些列:
df <- data.frame(V1 = 1:3, V2 = 4:6, V3 = 7:9)
df %>% select(tom = V1, V2)
#> tom V2
#> 1 1 4
#> 2 2 5
#> 3 3 6
使用