R有选择地替换数据帧的元素
我在变量名的数据框中有一列,如下所示:R有选择地替换数据帧的元素,r,dplyr,R,Dplyr,我在变量名的数据框中有一列,如下所示: tb <- tibble(Variable = c("var1", "var2", "var3")) tblibrary(dplyr) tb%变异(变量=替换(变量,变量=“var1”,“VariableOne”)) 无需更改OP的方法,选项是将合并为带有“变量”的,以原始“变量”值替换NA元素 tb %>% mutate(Variable =coalesce(new_names[Variable], Variable)) # A
tb <- tibble(Variable = c("var1", "var2", "var3"))
tblibrary(dplyr)
tb%变异(变量=替换(变量,变量=“var1”,“VariableOne”))
无需更改OP的方法,选项是将合并为带有“变量”的,以原始“变量”值替换NA
元素
tb %>%
mutate(Variable =coalesce(new_names[Variable], Variable))
# A tibble: 3 x 1
# Variable
# <chr>
#1 VariableOne
#2 var2
#3 var3
我们可以在
谢谢运行时使用case\u创建一个条件!coalesce是一个非常优雅的解决方案,我不知道它存在。
tb %>% mutate(Variable = new_names[Variable])
# A tibble: 3 x 1
Variable
<chr>
1 VariableOne
2 NA
3 NA
library(dplyr)
tb <- tibble(Variable = c("var1", "var2", "var3"))
tb %>% mutate(Variable = replace(Variable, Variable == "var1", "VariableOne"))
tb %>%
mutate(Variable =coalesce(new_names[Variable], Variable))
# A tibble: 3 x 1
# Variable
# <chr>
#1 VariableOne
#2 var2
#3 var3
tb %>%
mutate(Variable = case_when(Variable %in% names(new_names) ~
new_names[Variable], TRUE ~ Variable))