当前位置:  开发笔记 > 编程语言 > 正文

R:减少功能.Na治疗

如何解决《R:减少功能.Na治疗》经验,为你挑选了1个好方法。

我对这个Reduce功能有疑问.例如,我有一个列表,其中一个元素有一个NA.

a<-list(c(1,2),c(2,2),c(1,NA))

我希望使用该Reduce函数来平均列表中的元素.

那是(1+2+1)/3=1.33(2+2+NA)/3 = NA但在最后一种情况下,我真正需要的是避免使用NA所以结果应该是(2+2)/2 = 2这样,最终的结果是一个向量1.33, 2

我正在使用,Reduce("+", a)/length(a)但我得到一个NA因为NA元素.

提前致谢



1> Roland..:

我不会用Reduce这个.for无论如何它只是一个隐藏的循环.这是一个更好的选择:

rowMeans(do.call(cbind, a), na.rm = TRUE)
#[1] 1.333333 2.000000

rowMeans会将您的矢量组合成一个矩阵,并使用该函数计算行均值,该函数可以删除NA值.

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有