样本数据
date coins
2013-10-01 NA
2013-10-01 NA
2013-10-01 NA
2013-11-01 10
2013-11-01 NA
2013-11-01 20
2013-11-01 30
2013-11-01 40
2013-12-30 NA
2013-12-30 22
2013-12-30 24
2013-12-30 25
Run Code Online (Sandbox Code Playgroud)
我想做的事?
我想计算硬币列的平均值和中位数,忽略缺失值。
到目前为止我做了什么?
by_date <- group_by(df, date)
by_date %>% summarise_each_(funs(mean(., na.rm = TRUE), median(., na.rm=TRUE)), names(by_date)[2])
问题 summarise_each_ 返回的结果显示日期为2013-10-01 的NaN。这是否意味着该函数不会忽略缺失值?
这里的问题是 2013-10-01 的所有值都是NA
,所以不可能有均值。这NaN
是 R 试图告诉你这一点。
如果您不想让 2013-10-01 出现在摘要中,一种选择是NA
像这样预先删除值:
by_date<-group_by(df[!is.na(df$coins),],date)
Run Code Online (Sandbox Code Playgroud)