【问题标题】:Issue when using filter function in a dataset在数据集中使用过滤器函数时的问题
【发布时间】:2020-09-15 23:49:12
【问题描述】:

我正在使用由交易(客户购买)数据组成的数据集,我对购买了 200 件某种产品的特定客户感兴趣,我想在我的数据集中识别包含此交易的行。我正在执行过滤的列称为 PROD_QTY,这是我正在使用的命令:

transactionData %>% filter(PROD_QTY > 200)

transactionData 是我的数据集的名称。

问题是我收到以下错误“过滤器中的错误(.,PROD_QTY > 200):找不到对象'PROD_QTY'”

我也尝试过稍微更改命令,但我得到了同样的错误

filter(transactionData, PROD_QTY > 200)

运行dput(head(transactionData))后,输出如下:

structure(list(DATE = structure(c(17821, 18030, 18036, 17760, 
17761, 18032), class = "Date"), STORE_NBR = c(1L, 1L, 1L, 2L, 
2L, 4L), LYLTY_CARD_NBR = c(1000L, 1307L, 1343L, 2373L, 2426L, 
4149L), TXN_ID = c(1L, 348L, 383L, 974L, 1038L, 3333L), PROD_NBR = c(5L, 
66L, 61L, 69L, 108L, 16L), PROD_NAME = c("Natural Chip        Compny SeaSalt175g", 
"CCs Nacho Cheese    175g", "Smiths Crinkle Cut  Chips Chicken 170g", 
"Smiths Chip Thinly  S/Cream&Onion 175g", "Kettle Tortilla ChpsHny&Jlpno Chili 150g", 
"Smiths Crinkle Chips Salt & Vinegar 330g"), PROD_QTY = c(2L, 
3L, 2L, 5L, 3L, 1L), TOT_SALES = c(6, 6.3, 2.9, 15, 13.8, 5.7
)), row.names = c(NA, -6L), class = c("data.table", "data.frame"
), .internal.selfref = <pointer: 0x7fbfdb064ee0>)

我会感谢任何建议!

【问题讨论】:

  • names(transactionData) 返回什么?
  • [1]“日期”“STORE_NBR”“LYLTY_CARD_NBR”“TXN_ID”“PROD_NBR”“PROD_NAME”“PROD_QTY”[8]“TOT_SALES”
  • 你在使用dplyr::filter吗?
  • 可能与 R 会话中加载的其他内容存在冲突,请尝试关闭并重新启动 R。或者,就像 @AlexB 所说,这是没有调用 library(dplyr) 的问题。
  • 我忘记在我开始的新会话中上传 dplyr 包。但是,在运行命令后,我现在收到以下错误“Empty data.table (0 rows and 8 cols): DATE,STORE_NBR,LYLTY_CARD_NBR,TXN_ID,PROD_NBR,PROD_NAME..."

标签: r filter


【解决方案1】:

运行以下命令max(transactionData$PROD_QTY, na.rm = TRUE) 后,输出为 200(最大产品数量)。问题是在以下命令行 transactionData %&gt;% filter(PROD_QTY &gt;=200) 中缺少 equal 符号 ^ |

【讨论】:

    猜你喜欢
    • 2012-08-24
    • 1970-01-01
    • 1970-01-01
    • 2020-03-04
    • 2016-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-26
    相关资源
    最近更新 更多