【问题标题】:Removing Rows that Are Exclusively NA [duplicate]删除完全不适用的行 [重复]
【发布时间】:2021-12-05 02:50:03
【问题描述】:

目前我的数据看起来像这样(只是有更多的 NA 填充列和更多专门为 NA 的行):

Column 1 Column 2 Column 3
NA NA NA
Texas Oklahoma NA
NA Florida Florida
NA NA NA

我希望它看起来像这样

Column 1 Column 2 Column 3
Texas Oklahoma NA
NA Florida Florida

我不想删除所有具有 NA 值的行,我只想删除所有只有 NA 值的行。

提前致谢。

【问题讨论】:

  • 数据[complete.cases(data), ]

标签: r dataframe na


【解决方案1】:

你可以使用管理员包:

janitor::remove_empty(dat, which = "rows")

【讨论】:

    【解决方案2】:

    如果您想删除仅包含 NA 的行但保留包含一些 NA 值的行,您可以结合使用 is.narowSums

    dat <- dat[rowSums(!is.na(dat)) > 0, ]
    

    is.na 将返回一个TRUEFALSE,对于rowSums,它们将被视为10。任何值不是NA 的行的总和都大于0。

    【讨论】:

    • 或者你可以使用管理员包janitor::remove_empty(dat, which = "rows")
    • @Bloxx 使用 is.narowSums 就在您必须安装的另一个包中。
    • 你是对的。然而,janitor 包对数据清理非常有用。还带有清理列名。
    • @Bloxx,您可以将其发布为答案...
    猜你喜欢
    • 2022-11-14
    • 2020-11-29
    • 2011-03-21
    • 2021-04-30
    • 2022-01-12
    • 1970-01-01
    • 2013-08-02
    • 2018-09-18
    • 2021-03-07
    相关资源
    最近更新 更多