R语言中对数据框的列名重命名的实现
报错类型
Error:Allargumentsmustbenamed
plyr中的rename和dplyr中的rename用法是不同的.
plyr::rename
rename(data,c(old=new))
dplyr::rename
rename(data,new=old)
Example
比如,默认的是plyr的rename,运行下面命令,会报错:
d<-data.frame(old1=1:3,old2=4:6,old3=7:9) d library(tidyverse) rename(d,c("old2"="two","old3"="three")) rename(d,c(old2="two",old3="three"))
结果
>d<-data.frame(old1=1:3,old2=4:6,old3=7:9)
>d
old1old2old3
1 1 4 7
2 2 5 8
3 3 6 9
>library(tidyverse)
>rename(d,c("old2"="two","old3"="three"))
Error:Allargumentsmustbenamed
>rename(d,c(old2="two",old3="three"))
Error:Allargumentsmustbenamed
正确的打开方式:
d<-data.frame(old1=1:3,old2=4:6,old3=7:9) d rename(d,two=old2,three=old3)
结果:
>d<-data.frame(old1=1:3,old2=4:6,old3=7:9)
>d
old1old2old3
1 1 4 7
2 2 5 8
3 3 6 9
>rename(d,two=old2,three=old3)
old1twothree
1 1 4 7
2 2 5 8
3 3 6 9
或者使用plyr按第一种方式修改:
d<-data.frame(old1=1:3,old2=4:6,old3=7:9) d library(tidyverse) plyr::rename(d,c("old2"="two","old3"="three")) plyr::rename(d,c(old2="two",old3="three"))
结果:
>d<-data.frame(old1=1:3,old2=4:6,old3=7:9)
>d
old1old2old3
1 1 4 7
2 2 5 8
3 3 6 9
>library(tidyverse)
>plyr::rename(d,c("old2"="two","old3"="three"))
old1twothree
1 1 4 7
2 2 5 8
3 3 6 9
>plyr::rename(d,c(old2="two",old3="three"))
old1twothree
1 1 4 7
2 2 5 8
3 3 6 9
搞定!!!
关键点,dplyr是新名称放在前面,旧名称放在后面,而且不用引号,不用c(),更方便!!!
另外,dplyr中的select还可以选择+该名称,直接指定列数!!!
d<-data.frame(old1=1:3,old2=4:6,old3=7:9) d select(d,one=1,three=3)
结果:
>d<-data.frame(old1=1:3,old2=4:6,old3=7:9)
>d
old1old2old3
1 1 4 7
2 2 5 8
3 3 6 9
>select(d,one=1,three=3)
onethree
1 1 7
2 2 8
3 3 9
到此这篇关于R语言中对数据框的列名重命名的实现的文章就介绍到这了,更多相关R语言列名重命名内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。