我想知道是否有一种方法可以按列的位置重命名列名,而不是按列名更改。
以下代码段显示了如何按名称进行更改。
suppressPackageStartupMessages(library(dplyr))
gd_url <- "http://tiny.cc/gapminder"
gtbl <- gd_url %>%
read.delim %>%
tbl_df
gtbl <- gtbl %>% rename(life_exp = lifeExp,
gdp_percap = gdpPercap)
gtbl
答案 0 :(得分:17)
如果您希望坚持使用dplyr管道世界,则从dplyr 0.7.2开始,可以使用以下命名法按位置重命名:
使用原始示例:
gtbl <- gtbl %>% rename("life_exp" = !!names(.[5]),
"gdp_percap" = !!names(.[6]))
关于挖掘旧帖子的问候。在找出这个替代解决方案之前,我遇到了类似的问题并查看了这个问题。
答案 1 :(得分:15)
更简单:您可以仅使用数字来重命名列。这有效:
df <- df %>%
rename(newNameForFirstColumn = 1, newNameForSecondColumn = 2)