[R-es] Bucle de regresiones

Proyecto R-UCA r-uc@ @end|ng |rom uc@@e@
Lun Nov 15 13:57:51 CET 2021


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 using r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es



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