【问题标题】:Keep getting an error when trying to use !duplicated function in R尝试在 R 中使用 !duplicated 函数时不断出错
【发布时间】:2021-12-30 11:45:31
【问题描述】:

我已经将一个 xlsx 文档导入到 R 中,并且我在文档中发现了几个重复项。当我尝试使用 !duplicated 函数删除这些重复项时,它不断给我以下错误:

错误:必须使用有效的下标向量对列进行子集化。 ℹ 逻辑下标必须与索引输入的大小相匹配。 x 输入的大小为 30,但下标 !duplicated(export) 的大小为 33376。

下面是我目前的代码:

cb<-read.csv("120Water Request_KE.csv")
export <- read_xlsx("Anderson, IN _ Ziptility Export_KE.xlsx")

cb<-clean_names(cb)
export<-clean_names(export)

export <- export[!duplicated[[export, ]

谢谢

【问题讨论】:

  • 感谢您的回复。正确,它有 30 列。

标签: r duplicates


【解决方案1】:

我认为您正在寻找的是:

export <- export[!duplicated(export),]

library(tidyverse)
export <- export %>%
  distinct(., .keep_all = TRUE)

【讨论】:

    【解决方案2】:

    这是一个简单的语法错误。

    没有访问数据集的情况下很难重写代码,但您正在寻找的语法可能是这样的:

    export[!duplicated(export, by = "column_name"),]
    

    只需将方括号更改为圆括号并指定要检查的列。

    【讨论】:

    • by 不是base::duplicated 的参数,只是data.table::duplicated 的参数。你能在答案中说得更清楚吗?
    猜你喜欢
    • 1970-01-01
    • 2012-02-19
    • 2014-02-03
    • 1970-01-01
    • 2021-08-13
    • 2021-07-22
    • 1970-01-01
    • 1970-01-01
    • 2016-07-06
    相关资源
    最近更新 更多