簡単なようで面倒
# 歪度
skew <- function(x, method = c("SPSS", "ordinary"))
{
method <- match.arg(method)
n <- length(x)
if (method == "SPSS") {
n*sum(scale(x)^3)/(n-1)/(n-2)
}
else {
sum(((x-mean(x))/sqrt((n-1)*var(x)/n))^3)/n
}
}
# 通常の(?)定義(これ以外にもある)
> skew(c(1,3,2,5,7,9),method="ordinary")
[1] 0.3367036
# SPSS や Excel による結果
# C. I. Bliss, Statistics in Biology, Vol. 1, 1967, McGraw-Hill. による
> skew(c(1,3,2,5,7,9),method="SPSS")
[1] 0.4610504
# こちらをデフォールトにしてあります
> skew(c(1,3,2,5,7,9))
[1] 0.4610504