Эта / квадратные процедуры в R - PullRequest
0 голосов
/ 09 июня 2010

Помимо графической оценки линейности (метод gaze-at-scatterplot), которая используется перед применением некоторого метода из семейства GLM, существует несколько способов сделать эту оценку арифметически (т.е. без графиков).

Прямо сейчас я сосредоточусь на эта-квадрат Фишера - коэффициент корреляции: арифметически, он равен квадрату Пирсона r (коэффициент определения: r 2) если связь между двумя переменными является линейной.Следовательно, вы можете сравнить значения эта и r и оценить тип отношения (линейный или нет).Он предоставляет информацию о проценте дисперсии в зависимой переменной, объясняемой (линейно или нет) независимой переменной.Следовательно, вы можете применять его, когда предположения о линейности не выполняются.

Проще говоря: есть ли процедура для eta / eta-square в R?

Ответы [ 2 ]

4 голосов
/ 10 июня 2010

Я все еще очень ошеломлен, должен признать ... нет простого и простого способа вычислить & 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-значения, поэтому, если кто-нибудь знает, как это сделать ... пожалуйста, дайте мне знать!

1 голос
/ 28 марта 2018

Прочитав этот Вопрос и попробовав функцию в ответе, я обнаружил, что библиотека "sjstats" Включена функция Eta-Squared.Может быть, это поможет будущим искателям.

...