gpt4 book ai didi

给定列名称和替换的字符向量重命名多个列

转载 作者:行者123 更新时间:2023-12-02 06:55:04 25 4
gpt4 key购买 nike

虽然使用基本 R 或 setnames 很容易做到这一点in data.tablerename_dplyr 0.5。自 rename_已弃用,我在 dplyr 中找不到简单的方法来执行此操作0.6.0。

下面是一个例子。我想替换 col.from 中的列名称与 col.to 中的相应值:

col.from <- c("wt", "hp", "vs")
col.to <- c("foo", "bar", "baz")

df <- mtcars
head(df, 2)
#> mpg cyl disp hp drat wt qsec vs am gear carb
#> Mazda RX4 21 6 160 110 3.9 2.620 16.46 0 1 4 4
#> Mazda RX4 Wag 21 6 160 110 3.9 2.875 17.02 0 1 4 4

预期输出:

names(df)[match(col.from, names(df))] <- col.to
head(df, 2)
#> mpg cyl disp bar drat foo qsec baz am gear carb
#> Mazda RX4 21 6 160 110 3.9 2.620 16.46 0 1 4 4
#> Mazda RX4 Wag 21 6 160 110 3.9 2.875 17.02 0 1 4 4

如何使用 rename 执行此操作或rename_atdplyr 0.6.0?

最佳答案

我不知道这是否是正确的方法,但是

library(dplyr)
df %>% rename_at(vars(col.from), function(x) col.to) %>% head(2)
# mpg cyl disp bar drat foo qsec baz am gear carb
# Mazda RX4 21 6 160 110 3.9 2.620 16.46 0 1 4 4
# Mazda RX4 Wag 21 6 160 110 3.9 2.875 17.02 0 1 4 4

另请注意,我生活在未来:

# packageVersion("dplyr")
# # [1] ‘0.7.0’

关于给定列名称和替换的字符向量重命名多个列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44452108/

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