示例数据
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
我想做什么?
我想计算硬币列的平均值和中位数,忽略缺失值。
到目前为止我做了什么?
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_返回的结果显示 NaN 的日期 2013-10-01 。这是否意味着该功能不会忽略缺失的值?
答案 0 :(得分:3)
这里的问题是2013-10-01的所有值都是NA
,所以没有平均值。 NaN
是R试图告诉你这件事。
如果您不想在摘要中显示2013-10-01,那么可以选择在此前预先删除NA
值:
by_date<-group_by(df[!is.na(df$coins),],date)