【问题标题】:object not found in filtering过滤中未找到对象
【发布时间】:2020-05-10 01:23:41
【问题描述】:

您好,我有一个名为 data 的数据集,我需要在这里过滤它是我的代码


data_filtered <-  filter(data, Item !="INFUSION SET (L.E 15)" )
data_filtered <-  filter(data, Item !="INFUSION SET (L.E 4)"  )
data_filtered <-  filter(data, Item !="SYRINGE 3ML"  )
data_filtered <-  filter(data, Item !="CANNULA (22) BLUE")

我不断收到错误“过滤器中 coercionError 引入的 NAs(data2, Item != "INFUSION SET (L.E 15)") : 找不到对象“项目””

【问题讨论】:

  • 您使用的是哪个filter

标签: r object filter na


【解决方案1】:

正如@Edward 提到的,您可能正在使用stats::filter。我们可以使用样本mtcars 数据集重现相同的错误消息。

stats::filter(mtcars, cyl > 12)

stats::filter(mtcars, cyl > 12) 中的错误:找不到对象“cyl”

使用dplyr::filter,不需要分别指定四个条件。使用:

data_filtered <- dplyr::filter(data, !Item %in% c("INFUSION SET (L.E 15)",
                "INFUSION SET (L.E 4)","SYRINGE 3ML","CANNULA (22) BLUE"))

这与在基础 R 中使用 subset 相同:

data_filtered <- subset(data, !Item %in% c("INFUSION SET (L.E 15)",
    "INFUSION SET (L.E 4)","SYRINGE 3ML","CANNULA (22) BLUE"))

或者

data_filtered <- data[!data$Item %in% c("INFUSION SET (L.E 15)",
           "INFUSION SET (L.E 4)","SYRINGE 3ML","CANNULA (22) BLUE"), ]

【讨论】:

    猜你喜欢
    • 2022-01-06
    • 2013-10-11
    • 2015-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-21
    • 2021-04-10
    相关资源
    最近更新 更多