合并两列,但更改特定变量的名称

Merging two columns, but changing the name of specific variables

我有两个包含大量缺失数据的因子列。在数据收集期间更改了特定变量的名称。我想做的是将两列合并在一起,但更改特定旧变量的名称以匹配新变量。

我用过

help <- data.frame(var1 = c("red", "", "blue", "", "red", "orange", "", "", "red"),
                   var2 = c("", "lightred", "blue", "lightred", "", "", "", "", ""))

创造

> help
    var1     var2
1    red         
2        lightred
3   blue     blue
4        lightred
5    red         
6 orange         
7                
8                
9    red         

我希望

> help
    var1     var2   newvar
1    red          lightred
2        lightred lightred
3   blue     blue     blue
4        lightred lightred
5    red          lightred
6 orange            orange
7                         
8                         
9    red          lightred

因此,为了本示例的目的,将变量合并到 newvar 并将变量的名称 red 更改为 lightred。我有许多变量需要更改,但我想如果我能让它与一个变量一起工作,我就能解决其余的问题。

更新:感谢@Veerendra Gadekar,此处接近解决方案....

我使用了下面的代码

help$newvar= gsub('red', 'lightred', help$var1)

但是变量 lightred 没有转移到 newvar...输出如下

    var1     var2   newvar
1    red          lightred
2        lightred         
3   blue     blue     blue
4        lightred         
5    red          lightred
6 orange            orange
7                         
8                         
9    red          lightred

想法?

这是使用 gsub()

执行此操作的方法
 help$newvar= gsub('red', 'lightred', help$var1)

如果你有多个元素要替换,那么你可以这样做

# for instance

to.replace = c('red', 'blue')

replace.with = c('lightred', 'lightblue')

for(i in 1:length(to.replace)){
   help$newvar[i] = gsub(to.replace[i], replace.with[i], help$var1[i])}