r - 排除列中值的过滤函数
问题描述
我试图通过仅选择小于 5001 的值然后选择等于 6000 及以上的任何值来过滤数据框中的列
这就是我所拥有的,但它不起作用并且不确定为什么
METable <- subset(outputdata, outputdata$Store.No < 5001 | outputdata$Store.No > 5999)
我参考下面的答案使用了上面的代码,但出于某种奇怪的原因,它仍然不适合我。所以 Store.No 列中的 outputdata 数据框我只有商店 5035 ......这意味着 METable df 中不应该显示任何内容,但它仍然存在......我在这里遗漏了什么简单的东西
解决方案
您正在应用两个不可能匹配的条件。您是在告诉 Store.No 必须低于 5001 并同时优于 5999。如果您想要小于 5001 的所有内容和高于 6000 的所有内容,您必须这样做:
METable <- subset(outputdata, outputdata < 5001 | outputdata > 5999)
另请注意,您应该比较数字(不带“”),因为这可能会出现意外行为,例如:
"2" > "11" - Returns True
推荐阅读
- reactjs - 如何将图像上传到存储并获取下载链接并存储在 Firestore 中并做出原生反应
- matlab - 在数组上使用泛型函数进行绘图时,我犯了什么类型的(可能是语法)错误?
- java - Spring Tool Suite 未完成源代码和 javadoc 下载
- python - 如何返回输入元组包含空集的函数?
- vba - 提取与已延后提醒相关的数据
- ansible - 为什么 ansible 为每个主机创建一个新的主机范围列表变量?
- javascript - vscode 自动导入未按预期工作
- sql - 行上的关键字到多行 SQL
- json - 将 Json 数组值拆分为 k/v 并排序
- vba - 隐藏 Microsoft Word 文档中未突出显示的文本,包括文本框