计算 R 中向量的偏差平方和(与平均值)的函数?

sta*_*979 -2 r sum vector

我想找到一个函数来计算向量平均值的偏差平方和

> x<-c(16, 17, 18, 20, 16, 20, 20, 18, 18, 15, 16, 16, 19, 17, 19)
> sum((x-mean(x))^2)
> 39.333
Run Code Online (Sandbox Code Playgroud)

一个功能

> function(x)
> 39.333
Run Code Online (Sandbox Code Playgroud)

我也想找到中位数

jlh*_*ard 5

另外,请注意sum((x-mean(x))^2)(n-1)*var(x),所以:

ssd <- function(x) var(x)*(length(x)-1)
ssd(x)
# [1] 39.33333
Run Code Online (Sandbox Code Playgroud)

由于var(...)是用 C 语言编写的,因此它会比更直接的方法快得多。