Re: [R-es] Pasar nombre variable regresión
Hola: Gracias por la respuesta. Nunca he utilizado variables globales por miedo de meter la pata. Sí, tienes razón. Lo mejor es pasar al nuevo espacio el dataframe. Se simplifica mucho. Gracias y saludos. On Thu, 18 Nov 2021 13:58:53 +0100 Proyecto R-UCA wrote: > Buenas, > > No he profundizado en el motivo pero como dices falla si las variables > no están en el data.frame. Tienes que agregarlas primero al data.frame. > > Si el espacio del que hablas es el padre, o algún ascendiente, no > habría problemas, pues R cuando no existe una variable en un entorno > mira en los padres. > > En caso contrario, lo que puedes hacer es asignar la variable > globalmente en dicho entorno, por ejemplo > dd <<- data.frame(weight = weight, group = group, ctl = ctl, trt=trt) > crearía un data.frame dd accesible desde cualquier parte. > > Esto de crear variables globales debe ser un último recurso pues puede > generar problemas. Te recomiendo intentes pasar el data.frame como > argumento a la función que va a hacer las regresiones. > > Un saludo. > > El jue, 18-11-2021 a las 13:34 +0100, Griera-yandex escribió: > > Gracias por la respuesta! > > > > El código tuyo funciona sin problema, pero cuando lo "adapto" me da > > error: > > > > > ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14) > > + trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69) > > + group <- gl(2, 10, 20, labels = c("Ctl","Trt")) > > + weight <- c(ctl, trt) > > + df <- data.frame (weight = weight, group = group) > > + rm(ctl, trt, group, weight) ## Ya que la regresión se > > ejecutaria, por ejemplo, dentro de otro espacio y estos objetos no > > estarian accesibles > > + model <- "df$weight ~ df$group" > > + summary (lm(model)) > > Error in df$weight : object of type 'closure' is not subsettable > > > > Que estoy haciendo mal? > > > > Muchas gracias y saludos! > > > > > > On Thu, 18 Nov 2021 13:12:43 +0100 > > Proyecto R-UCA wrote: > > > > > Buenas, > > > > > > a ver si esto te sirve: > > > ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14) > > > trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69) > > > group <- gl(2, 10, 20, labels = c("Ctl","Trt")) > > > weight <- c(ctl, trt) > > > dd <- data.frame(weight = weight, group = group, ctl = ctl, > > > trt=trt) > > > model <- "dd$weight ~ dd$group" > > > summary(lm(model)) > > > > > > Únicamente tendrías que construir previamente la fórmula con paste. > > > > > > La salida es: > > > Call: > > > lm(formula = model) > > > > > > Residuals: > > > Min 1Q Median 3Q Max > > > -1.0710 -0.4938 0.0685 0.2462 1.3690 > > > > > > Coefficients: > > > Estimate Std. Error t value Pr(>|t|) > > > (Intercept) 5.0320 0.2202 22.850 9.55e-15 *** > > > dd$groupTrt -0.3710 0.3114 -1.191 0.249 > > > --- > > > Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 > > > > > > Residual standard error: 0.6964 on 18 degrees of freedom > > > Multiple R-squared: 0.07308, Adjusted R-squared: 0.02158 > > > F-statistic: 1.419 on 1 and 18 DF, p-value: 0.249 > > > > > > Un saludo. > > > > > > El jue, 18-11-2021 a las 12:03 +0100, Griera escribió: > > > > Hola, buenos días: > > > > > > > > No es un problema concreto que tenga ahora, pero es un problema > > > > general > > > > que no se si tiene solución fácil. Hago una regresión (de > > > > lm.html): > > > > > > > > ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14) > > > > trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69) > > > > group <- gl(2, 10, 20, labels = c("Ctl","Trt")) > > > > weight <- c(ctl, trt) > > > > lm.D9 <- lm(weight ~ group) > > > > > > > > Si quiero que la variable independiente sea una "variable", y > > > > hago: > > > > > > > > X = "group" > > > > lm.D9 <- lm(weight ~ X) > > > > > > > > Y da el error: Error in model.frame.default(formula = XVD ~ > > > > group, > > > > drop.unused.levels = TRUE) : > > > > variable lengths differ (found for 'group') > > > > > > > > Ya que, como me decían el otro día "estás asignando a la variable > > > > X el > > > > valor "X" y no el > > > > contenido de la variable X." > > > > > > > > ¿No hay forma de que entienda que "X" es el nombre de la variable > > > > independiente "group", que no sea pasar la posición de la > > > > variable? > > > > > > > > Muchas gracias y saludos 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 ___ R-help-es mailing list
Re: [R-es] Pasar nombre variable regresión
Buenas, No he profundizado en el motivo pero como dices falla si las variables no están en el data.frame. Tienes que agregarlas primero al data.frame. Si el espacio del que hablas es el padre, o algún ascendiente, no habría problemas, pues R cuando no existe una variable en un entorno mira en los padres. En caso contrario, lo que puedes hacer es asignar la variable globalmente en dicho entorno, por ejemplo dd <<- data.frame(weight = weight, group = group, ctl = ctl, trt=trt) crearía un data.frame dd accesible desde cualquier parte. Esto de crear variables globales debe ser un último recurso pues puede generar problemas. Te recomiendo intentes pasar el data.frame como argumento a la función que va a hacer las regresiones. Un saludo. El jue, 18-11-2021 a las 13:34 +0100, Griera-yandex escribió: > Gracias por la respuesta! > > El código tuyo funciona sin problema, pero cuando lo "adapto" me da > error: > > > ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14) > + trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69) > + group <- gl(2, 10, 20, labels = c("Ctl","Trt")) > + weight <- c(ctl, trt) > + df <- data.frame (weight = weight, group = group) > + rm(ctl, trt, group, weight) ## Ya que la regresión se > ejecutaria, por ejemplo, dentro de otro espacio y estos objetos no > estarian accesibles > + model <- "df$weight ~ df$group" > + summary (lm(model)) > Error in df$weight : object of type 'closure' is not subsettable > > Que estoy haciendo mal? > > Muchas gracias y saludos! > > > On Thu, 18 Nov 2021 13:12:43 +0100 > Proyecto R-UCA wrote: > > > Buenas, > > > > a ver si esto te sirve: > > ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14) > > trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69) > > group <- gl(2, 10, 20, labels = c("Ctl","Trt")) > > weight <- c(ctl, trt) > > dd <- data.frame(weight = weight, group = group, ctl = ctl, > > trt=trt) > > model <- "dd$weight ~ dd$group" > > summary(lm(model)) > > > > Únicamente tendrías que construir previamente la fórmula con paste. > > > > La salida es: > > Call: > > lm(formula = model) > > > > Residuals: > > Min 1Q Median 3Q Max > > -1.0710 -0.4938 0.0685 0.2462 1.3690 > > > > Coefficients: > > Estimate Std. Error t value Pr(>|t|) > > (Intercept) 5.0320 0.2202 22.850 9.55e-15 *** > > dd$groupTrt -0.3710 0.3114 -1.191 0.249 > > --- > > Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 > > > > Residual standard error: 0.6964 on 18 degrees of freedom > > Multiple R-squared: 0.07308, Adjusted R-squared: 0.02158 > > F-statistic: 1.419 on 1 and 18 DF, p-value: 0.249 > > > > Un saludo. > > > > El jue, 18-11-2021 a las 12:03 +0100, Griera escribió: > > > Hola, buenos días: > > > > > > No es un problema concreto que tenga ahora, pero es un problema > > > general > > > que no se si tiene solución fácil. Hago una regresión (de > > > lm.html): > > > > > > ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14) > > > trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69) > > > group <- gl(2, 10, 20, labels = c("Ctl","Trt")) > > > weight <- c(ctl, trt) > > > lm.D9 <- lm(weight ~ group) > > > > > > Si quiero que la variable independiente sea una "variable", y > > > hago: > > > > > > X = "group" > > > lm.D9 <- lm(weight ~ X) > > > > > > Y da el error: Error in model.frame.default(formula = XVD ~ > > > group, > > > drop.unused.levels = TRUE) : > > > variable lengths differ (found for 'group') > > > > > > Ya que, como me decían el otro día "estás asignando a la variable > > > X el > > > valor "X" y no el > > > contenido de la variable X." > > > > > > ¿No hay forma de que entienda que "X" es el nombre de la variable > > > independiente "group", que no sea pasar la posición de la > > > variable? > > > > > > Muchas gracias y saludos 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
Re: [R-es] Pasar nombre variable regresión
Gracias por la respuesta! El código tuyo funciona sin problema, pero cuando lo "adapto" me da error: > ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14) + trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69) + group <- gl(2, 10, 20, labels = c("Ctl","Trt")) + weight <- c(ctl, trt) + df <- data.frame (weight = weight, group = group) + rm(ctl, trt, group, weight) ## Ya que la regresión se ejecutaria, por ejemplo, dentro de otro espacio y estos objetos no estarian accesibles + model <- "df$weight ~ df$group" + summary (lm(model)) Error in df$weight : object of type 'closure' is not subsettable Que estoy haciendo mal? Muchas gracias y saludos! On Thu, 18 Nov 2021 13:12:43 +0100 Proyecto R-UCA wrote: > Buenas, > > a ver si esto te sirve: > ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14) > trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69) > group <- gl(2, 10, 20, labels = c("Ctl","Trt")) > weight <- c(ctl, trt) > dd <- data.frame(weight = weight, group = group, ctl = ctl, trt=trt) > model <- "dd$weight ~ dd$group" > summary(lm(model)) > > Únicamente tendrías que construir previamente la fórmula con paste. > > La salida es: > Call: > lm(formula = model) > > Residuals: > Min 1Q Median 3Q Max > -1.0710 -0.4938 0.0685 0.2462 1.3690 > > Coefficients: > Estimate Std. Error t value Pr(>|t|) > (Intercept) 5.0320 0.2202 22.850 9.55e-15 *** > dd$groupTrt -0.3710 0.3114 -1.1910.249 > --- > Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 > > Residual standard error: 0.6964 on 18 degrees of freedom > Multiple R-squared: 0.07308, Adjusted R-squared: 0.02158 > F-statistic: 1.419 on 1 and 18 DF, p-value: 0.249 > > Un saludo. > > El jue, 18-11-2021 a las 12:03 +0100, Griera escribió: > > Hola, buenos días: > > > > No es un problema concreto que tenga ahora, pero es un problema general > > que no se si tiene solución fácil. Hago una regresión (de lm.html): > > > > ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14) > > trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69) > > group <- gl(2, 10, 20, labels = c("Ctl","Trt")) > > weight <- c(ctl, trt) > > lm.D9 <- lm(weight ~ group) > > > > Si quiero que la variable independiente sea una "variable", y hago: > > > > X = "group" > > lm.D9 <- lm(weight ~ X) > > > > Y da el error: Error in model.frame.default(formula = XVD ~ group, > > drop.unused.levels = TRUE) : > > variable lengths differ (found for 'group') > > > > Ya que, como me decían el otro día "estás asignando a la variable X el > > valor "X" y no el > > contenido de la variable X." > > > > ¿No hay forma de que entienda que "X" es el nombre de la variable > > independiente "group", que no sea pasar la posición de la variable? > > > > Muchas gracias y saludos 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
Re: [R-es] Pasar nombre variable regresión
Buenas, a ver si esto te sirve: ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14) trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69) group <- gl(2, 10, 20, labels = c("Ctl","Trt")) weight <- c(ctl, trt) dd <- data.frame(weight = weight, group = group, ctl = ctl, trt=trt) model <- "dd$weight ~ dd$group" summary(lm(model)) Únicamente tendrías que construir previamente la fórmula con paste. La salida es: Call: lm(formula = model) Residuals: Min 1Q Median 3Q Max -1.0710 -0.4938 0.0685 0.2462 1.3690 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 5.0320 0.2202 22.850 9.55e-15 *** dd$groupTrt -0.3710 0.3114 -1.1910.249 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 0.6964 on 18 degrees of freedom Multiple R-squared: 0.07308, Adjusted R-squared: 0.02158 F-statistic: 1.419 on 1 and 18 DF, p-value: 0.249 Un saludo. El jue, 18-11-2021 a las 12:03 +0100, Griera escribió: > Hola, buenos días: > > No es un problema concreto que tenga ahora, pero es un problema general > que no se si tiene solución fácil. Hago una regresión (de lm.html): > > ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14) > trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69) > group <- gl(2, 10, 20, labels = c("Ctl","Trt")) > weight <- c(ctl, trt) > lm.D9 <- lm(weight ~ group) > > Si quiero que la variable independiente sea una "variable", y hago: > > X = "group" > lm.D9 <- lm(weight ~ X) > > Y da el error: Error in model.frame.default(formula = XVD ~ group, > drop.unused.levels = TRUE) : > variable lengths differ (found for 'group') > > Ya que, como me decían el otro día "estás asignando a la variable X el > valor "X" y no el > contenido de la variable X." > > ¿No hay forma de que entienda que "X" es el nombre de la variable > independiente "group", que no sea pasar la posición de la variable? > > Muchas gracias y saludos 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
Re: [R-es] Pasar nombre variable regresión
Sí! Gracias por responder! Funciona sin problema: > X = "group" + X [1] "group" + lm.D9 <- lm(weight ~ get (X), data = df) + summary (lm.D9) Call: lm(formula = weight ~ get(X), data = df) Residuals: Min 1Q Median 3Q Max -1,0710 -0,4937 0,0685 0,2462 1,3690 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept)5,032 0,220 22,85 0,0095 *** get(X)Trt -0,371 0,311 -1,19 0,25 --- Signif. codes: 0 ‘***’ 0,001 ‘**’ 0,01 ‘*’ 0,05 ‘.’ 0,1 ‘ ’ 1 Residual standard error: 0,696 on 18 degrees of freedom Multiple R-squared: 0,0731,Adjusted R-squared: 0,0216 F-statistic: 1,42 on 1 and 18 DF, p-value: 0,249 Gracias! On Thu, 18 Nov 2021 13:01:26 +0100 Marcelino de la Cruz Rot wrote: > Hola: > Creo que lo que quieres es esto: > > lm.D9 <- lm(weight ~ get(X)) > > Saludos, > > Marcelino > > > El 18/11/2021 a las 12:03, Griera escribió: > > Hola, buenos días: > > > > No es un problema concreto que tenga ahora, pero es un problema general > > que no se si tiene solución fácil. Hago una regresión (de lm.html): > > > > ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14) > > trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69) > > group <- gl(2, 10, 20, labels = c("Ctl","Trt")) > > weight <- c(ctl, trt) > > lm.D9 <- lm(weight ~ group) > > > > Si quiero que la variable independiente sea una "variable", y hago: > > > > X = "group" > > lm.D9 <- lm(weight ~ X) > > > > Y da el error: Error in model.frame.default(formula = XVD ~ group, > > drop.unused.levels = TRUE) : > >variable lengths differ (found for 'group') > > > > Ya que, como me decían el otro día "estás asignando a la variable X el > > valor "X" y no el > > contenido de la variable X." > > > > ¿No hay forma de que entienda que "X" es el nombre de la variable > > independiente "group", que no sea pasar la posición de la variable? > > > > Muchas gracias y saludos a todos. > > > > ___ > > R-help-es mailing list > > R-help-es@r-project.org > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > . > > > -- > Marcelino de la Cruz Rot > Depto. de Biología y Geología > Física y Química Inorgánica > Universidad Rey Juan Carlos > Móstoles España > ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Re: [R-es] Pasar nombre variable regresión
Hola: Creo que lo que quieres es esto: lm.D9 <- lm(weight ~ get(X)) Saludos, Marcelino El 18/11/2021 a las 12:03, Griera escribió: Hola, buenos días: No es un problema concreto que tenga ahora, pero es un problema general que no se si tiene solución fácil. Hago una regresión (de lm.html): ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14) trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69) group <- gl(2, 10, 20, labels = c("Ctl","Trt")) weight <- c(ctl, trt) lm.D9 <- lm(weight ~ group) Si quiero que la variable independiente sea una "variable", y hago: X = "group" lm.D9 <- lm(weight ~ X) Y da el error: Error in model.frame.default(formula = XVD ~ group, drop.unused.levels = TRUE) : variable lengths differ (found for 'group') Ya que, como me decían el otro día "estás asignando a la variable X el valor "X" y no el contenido de la variable X." ¿No hay forma de que entienda que "X" es el nombre de la variable independiente "group", que no sea pasar la posición de la variable? Muchas gracias y saludos a todos. ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es . -- Marcelino de la Cruz Rot Depto. de Biología y Geología Física y Química Inorgánica Universidad Rey Juan Carlos Móstoles España ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Re: [R-es] Pasar nombre variable regresión
Hola: Gracias por la respuesta. Disculpa, el ejemplo está mal planteado. En realidad seria: ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14) trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69) group <- gl(2, 10, 20, labels = c("Ctl","Trt")) weight <- c(ctl, trt) df <- data.frame (weight = weight, group = group) rm(ctl, trt, group, weight) ## Ya que la regresión se ejecutaria, por ejemplo, dentro de otro espacio y estos objetos no estarian accesibles Si quiero que la variable independiente sea una "variable", y hago: > X = "group" > X [1] "group" > lm.D9 <- lm(weight ~ X) Error in eval(predvars, data, env) : object 'weight' not found ¿No hay forma de que entienda que "X" es el nombre de la variable independiente "group", que no sea pasar la posición de la variable? Muchas gracias y saludos. On Thu, 18 Nov 2021 08:35:35 -0300 MAURICIO MARDONES wrote: > Creo que es por simplemente las comillas en “group” > > Saca las comillas. Asigna así e intenta > > X = group > > Slds > > > On 18-11-2021, at 08:03, Griera wrote: > > > > Hola, buenos días: > > > > No es un problema concreto que tenga ahora, pero es un problema general > > que no se si tiene solución fácil. Hago una regresión (de lm.html): > > > > ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14) > > trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69) > > group <- gl(2, 10, 20, labels = c("Ctl","Trt")) > > weight <- c(ctl, trt) > > lm.D9 <- lm(weight ~ group) > > > > Si quiero que la variable independiente sea una "variable", y hago: > > > > X = "group" > > lm.D9 <- lm(weight ~ X) > > > > Y da el error: Error in model.frame.default(formula = XVD ~ group, > > drop.unused.levels = TRUE) : > > variable lengths differ (found for 'group') > > > > Ya que, como me decían el otro día "estás asignando a la variable X el > > valor "X" y no el > > contenido de la variable X." > > > > ¿No hay forma de que entienda que "X" es el nombre de la variable > > independiente "group", que no sea pasar la posición de la variable? > > > > Muchas gracias y saludos a todos. > > > > ___ > > R-help-es mailing list > > R-help-es@r-project.org > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > > -- > C*ertificación ISO 9001/2015*: Sistema de Datos Biológico-Pesqueros (Arica, > Iquique, Coquimbo, Valparaíso, San Antonio, Talcahuano y Calbuco, > pesquerías industriales y artesanales) ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
[R-es] Pasar nombre variable regresión
Hola, buenos días: No es un problema concreto que tenga ahora, pero es un problema general que no se si tiene solución fácil. Hago una regresión (de lm.html): ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14) trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69) group <- gl(2, 10, 20, labels = c("Ctl","Trt")) weight <- c(ctl, trt) lm.D9 <- lm(weight ~ group) Si quiero que la variable independiente sea una "variable", y hago: X = "group" lm.D9 <- lm(weight ~ X) Y da el error: Error in model.frame.default(formula = XVD ~ group, drop.unused.levels = TRUE) : variable lengths differ (found for 'group') Ya que, como me decían el otro día "estás asignando a la variable X el valor "X" y no el contenido de la variable X." ¿No hay forma de que entienda que "X" es el nombre de la variable independiente "group", que no sea pasar la posición de la variable? Muchas gracias y saludos a todos. ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es