r - 如何在不更改原始数据集的情况下在 r 中使用多个替换?
问题描述
我有一个数据集,对于其中一个变量,我需要用 NA 替换所有高于 0.99 百分位且低于 0 的值。由于我需要绘制多个变量,我正在尝试创建一个模板,我可以在其中输入我需要绘制的变量,然后在不更改原始数据集的情况下保存它,因为我需要制作不同类型的图表。
我如何嵌套两个替换功能?
na.omit(replace(data$Sodio, which(data$Sodio <0), NA)))
这是我用的第一个,但我还需要替换这个数字上面的数字
quantile(data$Sodio, probs=c(0.99), na.rm=TRUE)
所以我需要类似的东西
na.omit(replace(data$Sodio, which(data$Sodio>quantile(data$Sodio, probs=c(0.99), na.rm=TRUE), NA)))
是否可以只写一个字符串并实现两者?
解决方案
您可以将这两个条件与 OR ( |
)
new_data <- transform(data, Sodio = replace(Sodio,
Sodio > quantile(Sodio, probs=0.99, na.rm=TRUE) | Sodio < 0, NA))
推荐阅读
- reactjs - JSX 编译需要什么加载器?
- multithreading - 如果将两个集成流传递给一个通用 MessageHandler 类,它是线程安全的吗?在 Spring 集成 DSL 中
- reactjs - 如何使用 React JS 进行身份验证
- php - 没有公共列的MySql连接表
- r - 排列 r 中的所有列
- laravel - 更新表单时如何保持选择以前的值?
- html - 使用 Google 表格提取特定字符串后的值
- typescript - 构造函数中复杂参数的默认值
- c# - 命名空间不能直接包含 2D 无限运行器中的字段或方法等成员
- xml - 使用 xmlstarlet 将 xml 节点提取为表