在某些情况下不存在要重命名的列的dplyr中使用重命名功能的巧妙方法吗?
例如,我希望以下内容不会导致错误
mtcars%>%rename(miles_per_gallon=mpg,missing_varible=foo)
(结果是:错误:未知变量:foo。)
而是完成所有可能的重命名的数据框。
目前,我正在重命名之前明确检查特定列是否存在
谢谢
伊恩
有时不做任何事情也可以dplyr
。这可能是其中之一。我将设置一个用作键的向量:
namekey <- c(mpg="miles_per_gallon", cyl="cylinders", disp="displacement", hp="horse_power",
drat="rear_axle_ratio", wt="weight", qsec="quarter_mile_time", vs="v_s",
am="transmission", gear="number_of_gears", carb="number_of_carburetors",
foo="missing_variable")
mtcars1 <- mtcars[,1:2]
mtcars1$foo <- rnorm(nrow(mtcars1))
names(mtcars1) <- namekey[names(mtcars1)]
head(mtcars1)
# miles_per_gallon cylinders missing_variable
# Mazda RX4 21.0 6 -0.9901081
# Mazda RX4 Wag 21.0 6 0.2338014
# Datsun 710 22.8 4 -0.3077473
# Hornet 4 Drive 21.4 6 1.1200518
# Hornet Sportabout 18.7 8 0.7482842
# Valiant 18.1 6 0.4206614
拥有密钥后,只需一行简单易懂的代码即可进行重命名。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句