首页 文章

R中的Eta / Eta平方例程

提问于
浏览
0

除了在应用来自GLM族的一些技术之前使用的线性度的图形估计(凝视散点图方法)之外,有几种方法可以算术地进行这种估计(即没有图形) .

现在,如果两个变量之间的关系是线性的,那么我就得到了相关比:算术上,它是一个r(确定系数:r2) . 因此,您可以比较eta和r的值,并对关系类型(线性或非线性)进行评估 . 它提供了由自变量(线性或非线性)解释的因变量的方差百分比信息 . 因此,您可以在不满足线性假设时应用它 .

简单地说:R中是否存在eta / eta平方的例程?

2 回答

  • 4

    我'm still quite stunned, I must admit... there'在 R 中计算η或η2并不简单直接......所以我根据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值,所以如果有人知道怎么做...请告诉我!

  • 1

    看完这个问题后,在答案中尝试了这个功能,我就发现了这个library "sjstats" . 有一个Eta-Squared功能包括在内 . 也许它对未来的寻求者有帮助 .

相关问题