除na.rm = TRUE之外,均值还返回NaN

伊姆兰·阿里(Imran Ali)

样本数据

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

我想做的事?

我想计算硬币列的均值和中位数,而忽略缺失值。

到目前为止我做了什么?

  1. 将日期数据分组 by_date <- group_by(df, date)
  2. 汇总数据使用:by_date %>% summarise_each_(funs(mean(., na.rm = TRUE), median(., na.rm=TRUE)), names(by_date)[2])

问题summarise_each_返回的结果显示日期为2013-10-01的NaN这是否意味着该函数不会忽略缺失值?

rip

这里的问题是2013-10-01的所有值都是NA,所以不可能有平均值。NaN为R试图告诉你这一点。

如果您不想在摘要中显示2013-10-01,则一种选择是NA像这样预先删除值:

by_date<-group_by(df[!is.na(df$coins),],date)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

mean(,na.rm = TRUE)仍返回NA

R:为什么意思是(NA,na.rm = TRUE)返回NaN

总结使用na.rm = TRUE时返回-inf

dplyr :: mutate(分配na.rm = TRUE)

无论如何,max(x,na.rm = TRUE)返回“ NA”

使用na.rm = TRUE汇总数据

在dplyr中为每个函数保存na.rm = TRUE

是否可以在dplyr mutate中使用自定义函数,并选择使用na.rm = TRUE或na.rm = FALSE

未能省略包含 NA 值的列:na.rm=TRUE 和 na.action=NULL

错误:如果'na.rm'为FALSE,则缺少值和NaN是不允许的

如何在使用Dplyr的Group_by和Summarise_at时对n()使用na.rm = TRUE

Tapply(var, y, mean, na.rm = TRUE) 中的错误:参数必须具有相同的长度

为什么na.rm = TRUE对于R中的加权SD不起作用?

如何在R胶合语法中设置“ na.rm = TRUE”

我如何在 R 中按 ID 分组并用 na.rm = TRUE 进行平均汇总

将na.rm = TRUE与mutate中的函数一起使用

colMeans(x,na.rm = TRUE)中的错误:“ x”在KNN分类中必须是数字

带有na.rm = TRUE参数的data.table和pmin

主成分分析:colMeans(x,na.rm = TRUE)中的错误:'x'必须为数字

在 tidyr::pivot_wider 中,`values_fn = sum(.,na.rm=TRUE)` 失败

rowSums(., na.rm = TRUE) 中的错误:“x”必须是数字 - 尽管验证变量是数字

为什么在使用替换功能时收到此消息?在mean.default(x,na.rm = TRUE)中:参数不是数字或逻辑:返回NA

dplyr summarise_each与na.rm

na.rm = FALSE和na.ram = na.rm之间有区别吗?

在 R 代碼中使用 na.rm=TRUE 進行匯總時出現問題

RDA,colMeans(x,na.rm = TRUE)中的错误:当数据为数字时,“ x”必须为数字?

rm()除特定对象外的所有内容

R中na.rm和na.omit的差异

“ rm -rf $ dir”是否返回假?