2013-11-24 106 views
1

我无法找到解决方案:我想用取决于变量名称的文本替换那些NA值。理想情况下,会做这样的事情:R在另一列中匹配条件时,在一列中替换值

如果变量名称VAR2和VAR3或VAR4在同一行中有“文字”

   variable question 
1    var1  <NA> 
2    var2  <NA> 
3    var3  <NA> 
4    var4  <NA> 

代替我想会的工作最接近的是:

df$question[df$variable = var2 OR var3 OR var4] <- text 

它应该不难,我只是盲目找到正确的答案:(。

+1

这似乎只是一个语法问题,你有正确的想法。如果你使用下面的条件语句,它会工作:'(df $ variable ==“var2”| df $ variable ==“var3”| df $ variable ==“var4”)''。注意使用'|'(元素比较) – Edward

回答

3

如果text是相同的var2, var3, var4然后,这应该做的伎俩。此外,如果text每个var*都不相同,则更新您的问题并提供更多详细信息。

> df$question <- as.character(df$question) 
> df$question[df$variable %in% c("var2", "var3", "var4")] <- "text" 
> df 
    variable question 
1  var1  <NA> 
2  var2  text 
3  var3  text 
4  var4  text 
+1

完美工作,谢谢!这真的很简单,所有匹配的变量都有相似的文本。 – user3027387

相关问题