我正在尝试计算数据框中每一行的平均值。每行都有零,我想从计算中排除这些。我不想删除整行,而只想删除零并计算每行中剩余值的平均值。如果行的值全部为零,则结果应为零。
怎么样
nzmean <- function(x) {
if (all(x==0)) 0 else mean(x[x!=0])
}
apply(mydata,1,nzmean)
?
我觉得可能是边际地更快地做
nzmean <- function(x) {
zvals <- x==0
if (all(zvals)) 0 else mean(x[!zvals])
}
即尽量避免进行比较x
两次为零。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)