r - 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)
解决方案
这里没有真正的需要ifelse()
。您可以使用标准索引替换。
df$COl4[df$Col1 == "A"] <- "Pass"
这表示我们正在将其COl4
替换Col1 == "A"
为"Pass"
. 此外,此方法不会与ifelse()
will 之类的属性混淆。
推荐阅读
- reactjs - docker bind mount 在反应应用程序中不起作用
- c# - 为什么使用 C#/ElasticSearch 进行此 NEST 通配符搜索没有返回任何文档?
- pandas - Pandas 过滤多级列索引和带排序的转置表
- json - SAP 表结构继续通过 XML 传递表
- javascript - 使用列表 json 数据创建表 html 并添加过滤器选择下拉列表
- oracle-apex - Oracle APEX:如何以编程方式隐藏 IG APEX$ROW_SELECTOR
- string - LUA:从给定的数值生成唯一的 Mac
- python - 将本地时间戳转换为UTC python
- python - 在运行时从存根文件加载类型注释
- python - Django 使用单个视图生成许多页面