Hola, Carlos:
 
En el ejemplo que me remites, me surge una duda: la suma de los valores parciales que guardamos en p (en este caso, 0.2377), ¿no debería ser igual al valor del "Multiple R-squared" que obtenemos mediante ols y mediante lm?.
 
Incluyo los resultados:
 
fl <- lm(y ~ x1 + x2 + x3 + x4)
> summary(fl)
Call:
lm(formula = y ~ x1 + x2 + x3 + x4)
Residuals:
    Min      1Q  Median      3Q     Max 
-3.9990 -0.6635 -0.0213  0.6788  2.5588 
Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -0.7600     0.2779  -2.734  0.00683 ** 
x1            1.4186     0.2700   5.254 3.89e-07 ***
x2            1.4450     0.2614   5.527 1.03e-07 ***
x3            0.3147     0.2653   1.186  0.23697    
x4            0.1613     0.2528   0.638  0.52417    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 
Residual standard error: 1.05 on 195 degrees of freedom
Multiple R-squared: 0.2268,     Adjusted R-squared: 0.2109 
F-statistic:  14.3 on 4 and 195 DF,  p-value: 2.984e-10 

Es decir, con lm obtenemos un valor de 0.2268, que coincide con el obtenido mediante ols:
 
 f <- ols(y ~ x1 + x2 + x3 + x4)
> f
Linear Regression Model
ols(formula = y ~ x1 + x2 + x3 + x4)
                Model Likelihood     Discrimination    
                   Ratio Test           Indexes        
Obs      200    LR chi2     51.43    R2       0.227    
sigma 1.0502    d.f.            4    R2 adj   0.211    
d.f.     195    Pr(> chi2) 0.0000    g        0.643    
Residuals
     Min       1Q   Median       3Q      Max 
-3.99896 -0.66351 -0.02131  0.67881  2.55884 
          Coef    S.E.   t     Pr(>|t|)
Intercept -0.7600 0.2779 -2.73 0.0068  
x1         1.4186 0.2700  5.25 <0.0001 
x2         1.4450 0.2614  5.53 <0.0001 
x3         0.3147 0.2653  1.19 0.2370  
x4         0.1613 0.2528  0.64 0.5242  

Conclusión: lm y ols caminan juntas en cuanto al valor "global", pero los valores parciales me confunden...
 
Respecto a mi ejemplo, todavía no he conseguido ponerlo en marcha, pero en teoría estoy aplicando bien la idea. Es un simple y ~ x1 + x2 + x3 + x4, donde x1 y x3 son cosenoidales y x2 y x4 son senoidales. A ver si descubro dónde está el quid de la cuestión.
 
Muchas gracias.
 
Saludos.
 
Ana
 
 


--- El lun, 16/4/12, Carlos Ortega <cof@qualityexcellence.es> escribió:


De: Carlos Ortega <cof@qualityexcellence.es>
Asunto: Re: [R-es] Duda Multiple R-squared
Para: "Ana Pérez V." <anapv78@yahoo.es>
CC: r-help-es@r-project.org
Fecha: lunes, 16 de abril, 2012 23:24


Hola,


Un ejemplo sintético de esto podría ser este:


> x1 <- runif(200)
> x2 <- runif(200)
> x3 <- runif(200)
> x4 <- runif(200)
> y <- x1 + x2 + rnorm(200)
> 
> 
> f <- ols(y ~ x1 + x2 + x3 + x4) 
> p <- plot(anova(f), what='partial R2') 
> p 
         x2          x1          x3          x4 
0.135473784 0.129309562 0.011969487 0.002554869 
> 
No sé cómo de complicado puede ser tu modelo, pero vaya la estructura de definición es equivalente como ves a la que se hace con lm.


Saludos,
Carlos Ortega
www.qualityexcellence.es


El 16 de abril de 2012 21:56, Ana Pérez V. <anapv78@yahoo.es> escribió:






Gracias, Carlos.
 
Lo he intentado y me da un error:
 
Error en if (!length(fname) || !any(fname == zname)) { : 
  valor ausente donde TRUE/FALSE es necesario

Supongo que me falta algún parámetro de entrada.
 
Ya os comentaré en qué queda esta hazaña, o si alguien tiene alguna sugerencia acerca del error también es bienvenida.
 
Un saludo.
Ana

--- El lun, 16/4/12, Carlos Ortega <cof@qualityexcellence.es> escribió:


De: Carlos Ortega <cof@qualityexcellence.es>
Asunto: Re: [R-es] Duda Multiple R-squared
Para: "Ana Pérez V." <anapv78@yahoo.es>
CC: r-help-es@r-project.org
Fecha: lunes, 16 de abril, 2012 11:45




Hola, 


Hace unos años se hizo la misma pregunta [1].
Ahora la función "ols()" está en el paquete "rms".


[1]: http://r.789695.n4.nabble.com/Ask-for-functions-to-obtain-partial-R-square-squared-partial-correlation-coefficients-td832637.html


Saludos,
Carlos Ortega
www.qualityexcellence.es


El 16 de abril de 2012 10:27, Ana Pérez V. <anapv78@yahoo.es> escribió:

Buenos días:

Supongamos que tengo este modelo:

y_model = lm(y~ x1 + x2 + x3 + x4)

summary(y_model) devuelve, entre otros valores, el "Multiple R-squared".

Mi pregunta es la siguiente: ¿Cómo puedo obtener la contribución parcial (de cada variable x1, x2, x3, x4) a ese Multiple R-Squared?


Gracias.

Un saludo,
Ana

_______________________________________________
R-help-es mailing list
R-help-es@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es




-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es




-- 
Saludos,
Carlos Ortega
www.qualityexcellence.es

	[[alternative HTML version deleted]]

