【问题标题】:reshape::recast won't use fill=NA for sumreshape::recast 不会使用 fill=NA 作为 sum
【发布时间】:2015-11-20 09:22:01
【问题描述】:
a <- data.frame(
variable=c("a","b","c"),
date=c("2015-01-01","2015-01-01","2015-01-02"),
value=c(1,2,3))

我明白了

recast(a,date~variable,sum,fill=10000)
Using variable, date as id variables
>        date     a     b     c
>1 2015-01-01     1     2 10000
>2 2015-01-02 10000 10000     3

但是

recast(a,date~variable,sum,fill=NA)
Using variable, date as id variables

vapply(indices, fun, .default) 中的错误:值必须是“逻辑”类型, 但是 FUN(X[[1]]) 结果是类型'double'

为什么会这样?

来自帮助

fill : 用于填充结构缺失的值,默认为将 fun.aggregate 应用于 0 长度向量的值

在这种情况下,当缺少值时,我希望 sum 为 NA。

【问题讨论】:

    标签: r reshape reshape2


    【解决方案1】:

    指定您要使用的NA 类型,它应该可以工作:

    recast(a, date ~ variable, sum, fill = NA_real_)
    # Using variable, date as id variables
    #         date  a  b  c
    # 1 2015-01-01  1  2 NA
    # 2 2015-01-02 NA NA  3
    

    【讨论】:

    • 谢谢!在这个问题上摸不着头脑。
    • reshape2::dcast 中的相同内容,顺便说一句
    猜你喜欢
    • 2021-04-19
    • 1970-01-01
    • 1970-01-01
    • 2018-10-06
    • 2020-03-18
    • 1970-01-01
    • 1970-01-01
    • 2020-01-10
    • 1970-01-01
    相关资源
    最近更新 更多