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):值必须是'logical'类型, 但是FUN(X [[1]])结果是'double'类型
为什么会这样?
来自帮助
fill:用于填充结构缺失的值,默认为将fun.aggregate应用于0长度向量的值
在这种情况下,如果缺少值,我希望sum
为NA
。
答案 0 :(得分:2)
指定您要使用的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