[R-es] Pasar nombre variable regresión

Proyecto R-UCA r-uc@ @end|ng |rom uc@@e@
Jue Nov 18 13:12:43 CET 2021


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 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