R 使用gsub循环以通过存储在向量中的不同列替换字符

R 使用gsub循环以通过存储在向量中的不同列替换字符,r,loops,gsub,R,Loops,Gsub,这是我的第一个问题 我有一个df(美国人口普查)。在某些列中,我想删除百分比符号(%)。列在向量竞争中定义为字符串。知道如何使用带有mutate和gsub的循环吗?下面的代码不工作 races <- c('Hispanic', 'White', 'Black', 'Native', 'Asian', 'Pacific') for (item in races){ us_census <- mutate(us_census, get(item)=gsub('\\%','',get(

这是我的第一个问题

我有一个df(美国人口普查)。在某些列中,我想删除百分比符号(%)。列在向量竞争中定义为字符串。知道如何使用带有mutate和gsub的循环吗?下面的代码不工作

races <- c('Hispanic', 'White', 'Black', 'Native', 'Asian', 'Pacific')
for (item in races){
  us_census <- mutate(us_census, get(item)=gsub('\\%','',get(item)))
}

races而不是对
循环使用
tidyverse
方法是在
mutate\u中指定

library(dplyr)
library(stringr)
us_census <- us_census %>%
                 mutate_at(vars(races), ~ str_remove(., fixed('%')))
另外,另一个选项是
stru替换
from
stringr

library(stringr)
for (item in races){
    us_census <- us_census %>%
                    mutate(!! item :=str_remove(!! rlang::sym(item), fixed('%')))
  }
库(stringr)
用于(比赛中的项目){
美国人口普查%
mutate(!!item:=str_remove(!!rlang::sym(item),已修复('%'))
}

library(dplyr)
for (item in races){
    us_census <- us_census %>%
                    mutate(!! item :=sub('%','', !! rlang::sym(item), fixed = TRUE))
  }
library(stringr)
for (item in races){
    us_census <- us_census %>%
                    mutate(!! item :=str_remove(!! rlang::sym(item), fixed('%')))
  }