Foro de debate

problema con summary

 
Imagen de Angel Pascual Asura
problema con summary
de Angel Pascual Asura - martes, 28 de febrero de 2017, 20:54
 

He realizado el siguiente análisis en RStudio: AnovaVariableX <- summary(aov(AnteriorX ~ Grupo, data=Anacova)), que da como resultado

> AnovaVariableX
            Df Sum Sq Mean Sq F value  Pr(>F)   
Grupo        2  36.75  18.375   6.785 0.00533 **
Residuals   21  56.88   2.708             

Quiero extraer la suma de cuadrados residual y no encuentro la forma de hacerlo; cualquier instrucción me da como resultado NULL; por ejemplo AnovaVariableX$`Sum Sq`.

Sin embargo en otras listas sí que lo consigo

Imagen de Manuel Muñoz Márquez
Re: problema con summary
de Manuel Muñoz Márquez - martes, 28 de febrero de 2017, 23:28
 

Buenas Ángel:

Para ver las componentes de una lista, o de cualquier objeto, puedes usar la función str.

> library(car)
> data(Chile)
> Anova <- summary(aov(income~sex, data=Chile))
> str(Anova)
List of 1
 $ :Classes ‘anova’ and 'data.frame':    2 obs. of  5 variables:
  ..$ Df     : num [1:2] 1 2600
  ..$ Sum Sq : num [1:2] 9.15e+09 4.05e+12
  ..$ Mean Sq: num [1:2] 9.15e+09 1.56e+09
  ..$ F value: num [1:2] 5.87 NA
  ..$ Pr(>F) : num [1:2] 0.0155 NA
 - attr(*, "class")= chr [1:2] "summary.aov" "listof"
 - attr(*, "na.action")=Class 'omit'  Named int [1:98] 13 28 76 113 143 199 250 296 453 642 ...
  .. ..- attr(*, "names")= chr [1:98] "13" "28" "76" "113" ...
> Anova[[1]]['Sum Sq']
                Sum Sq
sex         9.1455e+09
Residuals   4.0497e+12

Un saludo

Imagen de Angel Pascual Asura
Re: problema con summary
de Angel Pascual Asura - miércoles, 1 de marzo de 2017, 19:39
 

Muchas gracias Manuel. Creo que ya he solucionado el problema. No sé si hay un camino más corto; pero como necesitaba utilizar solo la suma de cuadrados residual he añadido un par de líneas. Adjunto mi solución:

AnovaVariableX <- aov(AnteriorX ~ Grupo, data=Anacova)

resultanova<-summary(AnovaVariableX)

> str(resultanova)

List of 1

 $ :Classes ‘anova’ and 'data.frame': 2 obs. of  5 variables:

  ..$ Df     : num [1:2] 2 21

  ..$ Sum Sq : num [1:2] 36.7 56.9

  ..$ Mean Sq: num [1:2] 18.37 2.71

  ..$ F value: num [1:2] 6.78 NA

  ..$ Pr(>F) : num [1:2] 0.00533 NA

 - attr(*, "class")= chr [1:2] "summary.aov" "listof"

sumacuadrados<-resultanova[[1]]['Sum Sq']

> sumacuadrados$`Sum Sq`[2]

[1] 56.875

Muchas gracias, de nuevo