Я все еще очень ошеломлен, должен признать ... нет простого и простого способа вычислить & eta; или & eta; 2 в R
... Итак, я написал функцию согласно странице Википедии . Здесь идет:
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)
}
Итак, возникает другой вопрос, который я скоро опубликую ... что вы используете для проверки линейности? Однако я не могу рассчитать p-значения, поэтому, если кто-нибудь знает, как это сделать ... пожалуйста, дайте мне знать!