gpt4 book ai didi

r - dplyr::rename_all & dplyr::if_else

转载 作者:行者123 更新时间:2023-12-02 16:07:59 35 4
gpt4 key购买 nike

我有以下数据框:

library(dplyr)

df <- data.frame(gh225 = "foo1", gh765 = "foo2", gauskper = "foo3") %>%
rename_all(funs(stringr::str_replace_all(., "gh", "v")))

我想结合使用 rename_all 和 if_else 但我找不到方法,逻辑应该是这样的(但有变量):

if_else(stringr::str_detect(columns, "au"), "id_per", columns)

话说回来,我想把gauskper这个名字改成id_per。

最佳答案

我们可以使用 rename_with 因为 rename_all 已弃用

library(dplyr)
library(stringr)
data.frame(gh225 = "foo1", gh765 = "foo2", gauskper = "foo3") %>%
rename_with(~ str_replace(., "au", "idper"), contains("au"))

关于if_else的使用,只需要一个lambda表达式即~

data.frame(gh225 = "foo1", gh765 = "foo2", gauskper = "foo3") %>%  
rename_with(~ if_else(str_detect(., "au"), "id_per", .), everything())
gh225 gh765 id_per
1 foo1 foo2 foo3

关于r - dplyr::rename_all & dplyr::if_else,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68875447/

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