usar - La desviación estándar en R parece estar devolviendo la respuesta incorrecta. ¿Estoy haciendo algo mal?
tabla de frecuencias en r studio (4)
Un ejemplo simple de cálculo de desarrollo estándar:
d <- c(2,4,4,4,5,5,7,9)
sd(d)
rendimientos
[1] 2.13809
pero cuando se hace a mano , la respuesta es 2. ¿Qué me falta aquí?
Parece que R está asumiendo (n-1) en el denominador, no en n.
Prueba esto
R> sd(c(2,4,4,4,5,5,7,9)) * sqrt(7/8)
[1] 2
R>
y vea el resto del artículo de Wikipedia para la discusión sobre la estimación de las desviaciones estándar. El uso de la fórmula empleada ''a mano'' conduce a una estimación sesgada, de ahí la corrección de sqrt ((N-1) / N). Aquí hay una cita clave:
El término desviación estándar de la muestra se usa para el estimador no corregido (usando N) mientras que el término desviación estándar de la muestra se usa para el estimador corregido (usando N - 1). El denominador N - 1 es el número de grados de libertad en el vector de residuos,.
Cuando quiero la variación de la población o la desviación estándar (n como denominador), defino estas dos funciones vectorizadas.
pop.var <- function(x) var(x) * (length(x)-1) / length(x)
pop.sd <- function(x) sqrt(pop.var(x))
Por cierto, Khan Academy tiene una buena discusión de la población y la desviación estándar de la muestra aquí .
Tenga en cuenta que ejecutar el comando
?sd
en R Studio muestra la página de ayuda para la función. En la sección de detalles, indica
Como var, usa el denominador n - 1.