1

除了在应用 GLM 系列的一些技术之前使用的线性图形估计(凝视散点图方法)之外,还有几种方法可以通过算术方式进行这种估计(即不使用图形)。

现在,我将专注于 Fisher 的eta-squared - 相关比:在算术上,如果两个变量之间的关系是线性的,则它等于 Pearson 的r平方(确定系数:r 2 )。因此,您可以比较etar的值并评估关系类型(线性或非线性)。它提供了有关由自变量解释(线性或非线性)的因变量方差百分比的信息。因此,您可以在不满足线性假设时应用它。

简单地说:R 中是否有 eta/eta-squared 的例程?

4

2 回答 2

5

我仍然很震惊,我必须承认...没有简单直接的方法来计算 η 或 η 2 in R... 所以我根据Wikipedia page编写了一个函数。开始:

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 值,所以如果有人知道该怎么做……请告诉我!

于 2010-06-09T22:40:52.830 回答
2

在阅读了这个问题并尝试了答案中的函数后,我发现了这个 库 "sjstats"。包括一个 Eta 平方函数。也许它对未来的寻求者有所帮助。

于 2018-03-28T10:12:01.670 回答