首页 > 解决方案 > R有选择地替换数据框的元素

问题描述

我在变量名称的数据框中有一列,如下所示:

tb <- tibble(Variable = c("var1", "var2", "var3"))

我还有一个新名称的命名向量,我想将列中的某些单元格替换为:

new_names <- c(var1 = "VariableOne")

我根据我的谷歌搜索尝试了这个:

tb %>% mutate(Variable = new_names[Variable])

# A tibble: 3 x 1
  Variable   
  <chr>      
1 VariableOne
2 NA         
3 NA      

它几乎可以工作,但如果单元格不在我的 new_names 向量中,我不希望 R 用 NA 替换单元格。在这种情况下,我想保留原来的名字。我该怎么做呢?

标签: rdplyr

解决方案


library(dplyr)

tb <- tibble(Variable = c("var1", "var2", "var3"))

tb %>% mutate(Variable = replace(Variable, Variable == "var1", "VariableOne"))

推荐阅读