【发布时间】:2021-05-07 02:59:00
【问题描述】:
我试图通过仅选择小于 5001 的值,然后选择任何等于 6000 及以上的值来过滤数据框中的列
这就是我所拥有的,但它不起作用并且不确定为什么
METable <- subset(outputdata, outputdata$Store.No < 5001 | outputdata$Store.No > 5999)
我使用了上面的代码并参考了下面的答案,但出于某种奇怪的原因,它仍然不适合我。所以 Store.No 列中的 outputdata 数据框我只有商店 5035 ......这意味着 METable df 中不应该显示任何内容,但它仍然存在......这里有什么简单的我错过了
【问题讨论】:
-
数字不能小于 5001 且大于 5999。用 and 运算符替换为 or 运算符:
| -
您应该使用 OR 运算符“|”,而不是 AND 运算符“&”。此外,如果值是数字,则应使用不带引号的 (5001),而不是 ("5001")。
-
@LMc 我已经用新的代码行更新了我的问题,但仍然遇到问题
-
@GuedesBF 我已经用新的代码行更新了我的问题,但仍然遇到问题
-
您确定列
Store.No是数字吗?在|的两侧尝试as.numeric(outputdata$Store.No) < 5001 | ...。请使用dput(head(outputdata))发布您的一些数据
标签: r dataframe filter conditional-statements subset