gpt4 book ai didi

r - 使用循环或应用覆盖多个字符串变量

转载 作者:行者123 更新时间:2023-12-04 09:21:14 26 4
gpt4 key购买 nike

我正在尝试使用循环或应用于数据框中的多个变量来删除一些重音而不创建新变量。这是一个示例数据框,其中包含两个祖父、他们儿子的名字以及他们有多少个孙子:

df <- data.frame(
grandfather = c("Ramón", "Chris"),
son = c("José", "Mike"),
grandchildren = c(3,4))
现在我创建一个函数来删除 José 和 Ramón 中的重音:
remove.accents <- function(s) {
old1 <- "óé"
new1 <- "oe"
s1 <- chartr(old1, new1, s)
}
显然,我可以通过一次覆盖每个变量来做到这一点:
df$grandfather = remove.accents(df$grandfather)
df$son = remove.accents(df$son)
我怎么能用循环或应用函数来做到这一点,同时仍然保持相同的数据帧——而不是一次写一个东西?提前致谢?

最佳答案

您可以使用 across :

library(dplyr)
df %>% mutate(across(where(is.character),remove.accents))

grandfather son grandchildren
1 Ramon Jose 3
2 Chris Mike 4

关于r - 使用循环或应用覆盖多个字符串变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63101824/

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