R 使用gsub循环以通过存储在向量中的不同列替换字符
这是我的第一个问题 我有一个df(美国人口普查)。在某些列中,我想删除百分比符号(%)。列在向量竞争中定义为字符串。知道如何使用带有mutate和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(
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替换fromstringr
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('%')))
}