我想在data.frame的每个变量名前添加一个共同的前缀。例如,使用mtcars
数据,我可以使用以下代码添加前缀"cars.":
> data(mtcars)
> names(mtcars)
[1] "mpg" "cyl" "disp" "hp" "drat" "wt" "qsec" "vs"
[9] "am" "gear" "carb"
> names(mtcars) <- paste0("cars.", names(mtcars))
> names(mtcars)
[1] "cars.mpg" "cars.cyl" "cars.disp" "cars.hp"
[5] "cars.drat" "cars.wt" "cars.qsec" "cars.vs"
[9] "cars.am" "cars.gear" "cars.carb"
然而,我希望将其作为管道操作的一部分来完成(即一系列使用%>%
串联起来的函数),并且使用一些dplyr
语法。似乎rename
和everything()
的组合应该可以解决问题,但我不知道如何使其工作。有人有任何想法吗?
setNames(cars, paste0("cars.", names(cars))
是有效的。再次感谢。 - Jake FishersetNames
而不是``names<-``
。 - Konrad Rudolphdata.table::setnames()
而不是stats
中的setNames()
。这样做的好处是,如果旧名称向量和新名称向量的长度不匹配,它会抛出一个错误,这样更加安全可靠。 - der_grunddata.table
,那就有点过度杀伤力了,如果(像我一样)你不会在其他情况下使用该包。编写自包含功能的较小程序包而不是传统臃肿的R程序包的一个更好的理由。 - Konrad Rudolphdata.table::
调用函数。据我所知,这并不会加载整个包。这正确吗? - der_grund