【问题标题】:Collapse duplicate rows in a dataframe while keeping NAs在保留 NA 的同时折叠数据框中的重复行
【发布时间】:2017-05-11 21:03:43
【问题描述】:

我有一个如下所示的数据框:

Community, Sex, Total Pop, Age, Median
Kodiak,F,NA,NA,3
Kodiak,F,4,Na,NA
Kodiak,F,NA,5,NA
Teru,F,NA,0,NA
Teru,F,0,NA,NA

我想折叠所有具有公共社区值名称的行。但是,我也想保留 NA(我之前做过这件事,它使 NA 变成了 0,这令人困惑,因为 0 具有价值 - 数据是人口普查数据)。我的实际数据框有数千行。

我试过了:

library(data.table)
fcensus7 <- fcensus6 %>%
group_by(Community) %>%
summarise_each(funs(sum(., na.rm = TRUE)))

但最终得到了这个错误(它以前工作过,但也让我所有的 NA 都变成了零):

summarise_impl(.data, dots) 中的错误: 参数的“类型”(字符)无效

【问题讨论】:

    标签: r row


    【解决方案1】:

    您的某个值似乎是“Na”而不是“NA”。您可以尝试将na = c("", "NA", "Na") 添加到您的 read_csv 函数调用中。

    【讨论】:

    • 我查了一下,似乎完全不适用。会不会是别的东西?我可以在那里处理 NA,我只需要以某种方式折叠行。谢谢。
    • @JulietR - 该错误肯定表明您正在尝试对character 数据执行sum(),因为它给出与sum("a") 相同的错误。 Sex 对于初学者来说不是数字,您正在尝试对其求和。
    • 如果我删除性别栏应该可以吗?编辑:它奏效了!这样的学习曲线哈哈谢谢你
    • 或者您可以将性别列添加到 group_by 中,这样它将是 groub_by(Community, Sex)
    猜你喜欢
    • 2018-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多