Jakiego wzoru używa się w funkcji odchylenia standardowego sd
w R?
Jakiego wzoru używa się w funkcji odchylenia standardowego sd
w R?
Odpowiedzi:
Jak wskazał @Gschneider, oblicza odchylenie standardowe próbki
które możesz łatwo sprawdzić w następujący sposób:
> #generate a random vector
> x <- rnorm(n=5, mean=3, sd=1.5)
> n <- length(x)
>
> #sd in R
> sd1 <- sd(x)
>
> #self-written sd
> sd2 <- sqrt(sum((x - mean(x))^2) / (n - 1))
>
> #comparison
> c(sd1, sd2) #:-)
[1] 0.6054196 0.6054196
sd( c(-1,0,1) )
które wyjścia 1.
Tak. Technicznie oblicza wariancję próbki, a następnie przyjmuje pierwiastek kwadratowy:
> sd
function (x, na.rm = FALSE)
{
if (is.matrix(x))
apply(x, 2, sd, na.rm = na.rm)
else if (is.vector(x))
sqrt(var(x, na.rm = na.rm))
else if (is.data.frame(x))
sapply(x, sd, na.rm = na.rm)
else sqrt(var(as.vector(x), na.rm = na.rm))
}