【问题标题】:remove rows with NA values in a specific column删除特定列中具有 NA 值的行
【发布时间】:2020-02-12 20:00:20
【问题描述】:

我有一个大约 160 万行的庞大数据集,我需要关注的变量(列)是“温度”。温度列有许多 NA 值,其他变量列也有 NA 值。我只想删除温度列中具有 NA 值的行,我并不特别关心其他列中的 NA 值。我怎样才能做到这一点?如果我最终需要删除具有 NA 值的行不仅仅是我的温度列(例如深度列),我该如何选择两列?这是我的代码:

otn <- tidync(filename, row.names=TRUE) %>% activate('D0')
glider_table <- hyper_tibble(otn)
attach(glider_table)
summary(temperature)
na.omit(glider_table)

na.omit () 删除所有具有 NA 值的行,无论它们位于哪一列,所以我需要一些更有选择性的东西。

【问题讨论】:

  • glider_table[!is.na(glider_table$your_col), ] 应该可以解决问题。还有read here,为什么通常不建议使用attach()(只是为了让你知道)。
  • 这能回答你的问题吗? Omit rows containing specific column of NA
  • hyper_tibble() 默认情况下会省略 NA 值,fwiw

标签: r dataframe


【解决方案1】:

您可以使用 drop_na() 函数,第一个参数是数据集名称,第二个参数是可选参数,您可以在其中命名要从中删除 NA 响应的特定列。 像这样,drop_na(dataset, column)

【讨论】:

    最近更新 更多