[R-es] realizar ANOVAs en Loop

Proyecto R-UCA r-uc@ @end|ng |rom uc@@e@
Mar Jul 18 10:45:57 CEST 2023


Buenas, Yesica:

La variable iteraccion parece una variable factor, en cuyo caso ¿no se debería incluir en el anova? en vez de repetir muchas veces el anova.

Si se trata de repeticiones también hay modelos anova con repeticiones.

En tu código estás haciendo el mismo anova muchas veces pues no cambias los datos en el bucle, además estás haciendo un análisis por cada
fila sin eliminar las repeticiones. Por otra parte no imprimes ni guardas nada dentro del bucle con lo que cuando sales lo que calculas ya
no está.

Prueba lo siguiente.

## Extraer los valores de iteraccion sin repeticiones
iter <- levels(factor(data$iteraccion))

for(i in iter) {
   ## Hacemos el análisis quedándonos con las filas correspondientes
   res = aov(valor~Grupo, data=datos[datos$iteraccion == iter,])
   print(summary(res))
 }

Un saludo.

P.D.: No lo he probado, puede que tenga alguna errata.

El mar, 18-07-2023 a las 08:25 +0200, Yesica Pallavicini Fernandez escribió:
> Buenos días y gracias de antemano por vuestra ayuda.
> 
> Necesito realizar una serie de ANOVAS en loop.
> Os adjunto unos datos ficticios en este email.
> Dichos datos tienen 3 variables: 
> 1)Valor: corresponde a la variable dependiente y es numérica
> 2) Grupo: Corresponde a la variable independiente y es u factor
> 3) Iteracción: Corresponde a la variable sobre la cual hay que repetir los ANOVAs con las variables anteriores y es un factor.
> 
> Abajo os pego el código con el que he estado trabajando pero que no lo tengo bien, porque no puedo acceder a los resultados.
> Os agradeceria mucho si:
> -Me podéis ayudar a mejorar este código para que funcione
> -Si me podéis sugerir alguna fuente que explique bien cómo hacer un loop porque no he dado con los blogs adecuados.
> -Que me digáis cuál es vuestro libro/web de estadística favorito para profundizar en la matemática detrás de los análisis.
> 
> Mil gracias compañeros
> Yésica
> 
> library(agricolae)
> library(readxl)
> datosa_fict <- read_excel("datosa-fict.xlsx")
> #Cambiar nombre a la base de datos
> datos=datosa_fict
> #Copiar la variable sobre la que hacer el loop
> 
> iter=datos$iteraccion
> #Crear el loop
> for(i in iter) {
>   res=aov(valor~Grupo,data=datos)
>  
> }
> #Salvar los resultados
> ANOVA(res)
> _______________________________________________
> R-help-es mailing list
> R-help-es using r-project.org
> https://urldefense.com/v3/__https://stat.ethz.ch/mailman/listinfo/r-help-es__;!!D9dNQwwGXtA!VjLSaDKJejCZoZy1TgKKYQML4mA7DfvcDtUBYj5iRpdFNSsGUU5lEYtfkt0EYWTPD_-5HztE7U6zv48$
>  



Más información sobre la lista de distribución R-help-es