[R-es] Pasar nombre variable regresión

Griera-yandex gr|er@ @end|ng |rom y@ndex@com
Jue Nov 18 12:54:36 CET 2021


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 <mauricio.mardones using ifop.cl> 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 <griera using yandex.com> 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 using 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)



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