Re: [R-es] Pasar nombre variable regresión

2021-11-18 Por tema Griera-yandex
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

2021-11-18 Por tema Proyecto R-UCA
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

2021-11-18 Por tema Griera-yandex
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

2021-11-18 Por tema Proyecto R-UCA
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

2021-11-18 Por tema Griera-yandex
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

2021-11-18 Por tema Marcelino de la Cruz Rot

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

2021-11-18 Por tema Griera-yandex
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

2021-11-18 Por tema Griera
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