gpt4 book ai didi

r - 在 dplyr 中使用重命名并且列不存在时避免错误

转载 作者:行者123 更新时间:2023-12-02 11:42:07 24 4
gpt4 key购买 nike

当在某些情况下要重命名的列不存在时,是否有一种巧妙的方法可以使用 dplyr 中的重命名函数?

例如,我希望以下内容不会导致错误

mtcars%>%rename(miles_per_gallon=mpg,missing_varible=foo)

(结果如下:错误:未知变量:foo。)

而是完成所有可能的重命名的数据框。

目前,我正在重命名之前明确检查特定列是否存在

谢谢

伊恩

最佳答案

也许不是设计者的意图,但您可以利用作用域动词 rename_alldplyr 函数 recode,它需要一个或更多键值对,例如 old_name = "New Name"

library(dplyr)

rename_all(iris, recode, Sepal.Length = "sepal_length", cyl = "cylinder")
# sepal_length Sepal.Width Petal.Length Petal.Width Species
# 1 5.1 3.5 1.4 0.2 setosa
# 2 4.9 3.0 1.4 0.2 setosa
# 3 4.7 3.2 1.3 0.2 setosa
# 4 4.6 3.1 1.5 0.2 setosa
# 5 5.0 3.6 1.4 0.2 setosa
# 6 5.4 3.9 1.7 0.4 setosa
# 7 4.6 3.4 1.4 0.3 setosa
# 8 5.0 3.4 1.5 0.2 setosa
# 9 4.4 2.9 1.4 0.2 setosa

关于r - 在 dplyr 中使用重命名并且列不存在时避免错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34275576/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com