Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R有选择地替换数据帧的元素_R_Dplyr - Fatal编程技术网

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"))
tb
library(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))