平方平均数最容易实现
a <- c(5:15)
root.mean.square <- sqrt(sum(a^2))
几何平均数实现算法,要考虑到NA或负值
geometry.mean <- exp(mean(log(x)))
geo_mean <- function(data) {
log_data <- log(data)
gm <- exp(mean(log_data[is.finite(log_data)]))
return(gm)
}
参考: http://stackoverflow.com/questions/2602583/geometric-mean-is-there-a-built-in
也可以用psych 包里的 geometric.mean