Hola:

Sí, muchas gracias! Funciona. Aunque no entiendo como en el bucle original no 
coge el contenido de X1 si en la fórmula aparece "X1". Son cosas que me cuesta 
entender de R. Que le vamos ha hacer!

Gracias de nuevo y saludos.
                

On Mon, 15 Nov 2021 13:57:51 +0100
Proyecto R-UCA <r-...@uca.es> wrote:

> Buenas,
> 
> En el bucle estás asignando a la variable X el valor "X1" y no el
> contenido de la variable X.
> 
> A ver si esto te sirve:
> 
> for (Y in 1:2)
> {
>     for (X in 3:4)
>     {
>         cat ("Y:", names(df)[Y], "X:", names(df)[X], "\n")
>         print (summary (lm (df[,Y] ~ df[,X] + SE + ED,
>                             data <- df)))
>     }
> }
> 
> Un saludo.
> 
> El lun, 15-11-2021 a las 13:20 +0100, Griera-yandex escribió:
> > Hola, buenos dias:
> > 
> > Estoy intentando hacer una serie de regresiones en las que la "y" y una
> > de las "x", son diferentes en cada regresión. Además, hay unos
> > predictores constantes. Un ejemplo seria de los datos seria:
> > 
> > N <- 100
> > 
> > # x1, y1
> > set.seed(1234)
> > x1 <- sample(1:100, N, replace <- TRUE)
> > mean(x1);sd(x1)
> > y1 <- x1 + 2 + 1.5*rnorm(length(x1))
> > 
> > # x2, y2
> > set.seed(5678)
> > x2 <- 1:N
> > x2 <- sample(1:100, N, replace <- TRUE)
> > mean(x2);sd(x2)
> > y2 <- x2 + 2 + 1.5*rnorm(length(x2))
> > 
> > df <- data.frame (Y1 <- y1
> >                 , Y2 <- y2
> >                 , X1 <- x1
> >                 , X2 <- x2
> >                 , SE <- factor(rbinom(N, 1, .5))
> >                 , ED <- sample(20:50, N, replace <- TRUE)
> >                                         )
> > 
> > Intento hacer dos bucles para cambiar la "y" y las "x":
> > 
> > YL <- c ("Y1", "Y2")
> > XL <- c ("X1", "X2")
> > for (Y in YL)
> >         {
> >                 for (X in XL)
> >                         {
> >                                 cat ("Y:", Y, "X:", X, "\n")
> >                                 print (summary (lm (Y ~ X + SE + ED,
> > data <- df)))
> >                         }
> >         }
> > 
> > Pero al ejecutarlo, da el error:
> > 
> > Error in model.frame.default(formula = Y ~ X + SE + ED, data = df,
> > drop.unused.levels = TRUE) : 
> >   variable lengths differ (found for 'SE')
> > 
> > Parece como si no entendiera que la Y es "Y1" y la X es "X1" de df. 
> > 
> > ¿Alguna ayuda de como se puedes solucionas?
> > 
> > Muchas gracias a todos!
> > 
> >  
> > 
> > _______________________________________________
> > R-help-es mailing list
> > R-help-es@r-project.org
> > https://stat.ethz.ch/mailman/listinfo/r-help-es
> 
> _______________________________________________
> R-help-es mailing list
> R-help-es@r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es

_______________________________________________
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es

Responder a