首页 > 解决方案 > Ifelse 语句替换相应行中的值

问题描述

我有一个如下的数据框:

 Col1     Col2     COl4    Col5
   A         B       NA      NA
   M         L       NA      lo
   A         N       NA      KE

如果Col1 = A,如何将COl4中的NA替换为“Pass”的逻辑?

当我尝试使用 ifelse 时,我没有得到预期的输出。

预期输出应该是:

 Col1     Col2     COl4    Col5
   A         B     Pass      NA
   M         L       NA      lo
   A         N     Pass      KE

我试过这个但没有运气:

df$COl4<-
  ifelse(df$Col1=="A", "Pass", df$COl4)

标签: rif-statement

解决方案


这里没有真正的需要ifelse()。您可以使用标准索引替换。

df$COl4[df$Col1 == "A"] <- "Pass"

这表示我们正在将其COl4替换Col1 == "A""Pass". 此外,此方法不会与ifelse()will 之类的属性混淆。


推荐阅读