如何使用R语言dplyr包永久重命名数据框列名?
解决dplyr rename()列名未永久修改的问题
dplyr的所有数据操作函数(包括rename())默认都不会直接修改原始数据框,而是返回一个修改后的新数据对象。你之前的代码只是在控制台输出了修改后的结果,但没把这个结果保存下来,所以原数据框physicians_table_raw的列名没变化。
有几种方法可以实现永久修改:
覆盖原数据框(推荐,直接更新原对象)
把修改后的结果重新赋值给原变量名,这样原数据框就会被替换成修改后的版本:physicians_table_raw <- physicians_table_raw %>% rename( year = Year, jurisdiction = Jurisdiction )之后再用
View(physicians_table_raw)就能看到更新后的列名了。保存为新变量(保留原数据)
如果不想改动原始数据,可以把修改后的结果存到新变量里,后续操作都用这个新变量:physicians_table_renamed <- physicians_table_raw %>% rename( year = Year, jurisdiction = Jurisdiction )用magrittr的
%<>%管道赋值
如果你习惯用管道语法直接修改原对象,可以加载magrittr包,用%<>%管道(它的作用是把管道右侧的结果重新赋值给左侧变量):library(magrittr) physicians_table_raw %<>% rename( year = Year, jurisdiction = Jurisdiction )
内容的提问来源于stack exchange,提问作者James Hill
相关产品推荐
相关产品推荐

