2010-06-09 27 views
0

En dehors de l'estimation graphique de la linéarité (méthode du regard à la dispersion), qui est utilisée avant d'appliquer une technique de la famille GLM, il existe plusieurs façons de faire cette estimation arithmétiquement).Routines Eta/Eta-carré dans R

En ce moment, je vais me concentrer sur Eta carré de Fisher - rapport de corrélation: (. Coef de détermination: r) arithmétiquement, il est égal à de Pearson au carré r si la relation entre deux variables est linéaire. Par conséquent, vous pouvez comparer les valeurs de eta et r et faire une évaluation sur le type de relation (linéaire ou non). Il fournit une information sur le pourcentage de variance de la variable dépendante expliquée (linéairement ou non) par la variable indépendante. Par conséquent, vous pouvez l'appliquer lorsque les hypothèses de linéarité ne sont pas satisfaites. En termes simples, y a-t-il une routine pour eta/eta-squared dans R?

+0

si r est votre pearson r ... r^2 – John

+0

Oh ... merci! Enregistrement tard dans la nuit ... = D – aL3xa

Répondre

3

Je suis encore tout étourdi, je dois admettre ... il n'y a pas moyen facile et simple pour le calcul η ou η en R ... J'ai donc écrit une fonction selon Wikipedia page. Cela 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) 
} 

Donc, cela donne une autre question, que je suis sur le point de publier sous peu ... qu'est-ce que vous utilisez pour vérifier la linéarité? Cependant, je ne peux pas calculer les valeurs p, donc si quelqu'un sait comment le faire ... s'il vous plaît, faites le moi savoir!