2013-11-24 190 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

相關問題