Rutinas Eta/Eta-cuadrado en R
-
25-09-2019 - |
Pregunta
Aparte de la estimación gráfica de la linealidad (método de la mirada al diagrama de dispersión), que se utiliza antes de aplicar alguna técnica de la familia GLM, existen varias formas de hacer esta estimación aritméticamente (es decir,sin gráficos).
Ahora me centraré en Fisher's. eta-cuadrado - relación de correlación:aritméticamente, es igual al cuadrado de Pearson r (coef.de determinación: r2) si la relación entre dos variables es lineal.Por lo tanto, se pueden comparar valores de eta y r y hacer una valoración sobre el tipo de relación (lineal o no).Proporciona información sobre el porcentaje de varianza en la variable dependiente explicada (linealmente o no) por la variable independiente.Por lo tanto, puede aplicarlo cuando no se cumplan los supuestos de linealidad.
Indicado simplemente:¿Existe una rutina para eta/eta-cuadrado en R?
Solución
Todavía estoy bastante aturdido, debo admitir ... que no hay manera fácil y sencillo para calcular η η o 2 en R
... Así que escribí una función de acuerdo con la página de Wikipedia . Aquí va:
eta <- function(x, squared = FALSE, ...) {
stopifnot(is.list(x))
## unlist
y <- unlist(x)
## group mean
mg <- rapply(x, mean, ...)
## group size
ng <- rapply(x, length, ...)
## total mean
mtot <- mean(y, ...)
## SSb
ssb <- sum(ng * (mg - mtot) ^ 2)
## SSt
sst <- sum((y - mtot) ^ 2)
# get eta-squared
if (squared) {
res <- ssb/sst
# get eta
} else {
res <- sqrt(ssb/sst)
}
return(res)
}
Así que esto produzca otra pregunta, que estoy a punto de publicar en breve ... ¿qué es lo que utiliza para comprobar la linealidad? Sin embargo, no puedo valores de p no calcula, por lo que si alguien sabe cómo hacerlo ... Por favor, hágamelo saber!
Otros consejos
Después de leer esta pregunta, y tratando la función de la respuesta, acabo de encontrar esto el "sjstats" biblioteca . Hay un Eta-Squared-función incluida. Tal vez sea útil para los solicitantes de futuros.