Muchas gracias!
En sí el problema que estaba tratando de resolver hace a un curso de
modelos más que nada. Solo quería mejorar la performance porque un
proceso del ejercicio llevaba mucho tiempo. De todas formas estas
funciones me serán muy útiles para otras cosas que tengo planeadas.
Muchas gracias a ambos que de verdad son el motor principal del grupo!
Saludos!!
Fernando Macedo
El 05/07/15 a las 13:27, Carlos J. Gil Bellosta escribió:
Hola, ¿qué tal?
Si quieres mejorar la velocidad de ese cálculo puedes probar estas dos cosas:
1) Precalcular la matriz del modelo (?model.matrix)
2) Usar lm.fit en lugar de lm (?lm.fit)
No es una vía sencilla pero si de verdad quieres mejorar el
rendimiento no te queda otra que eliminar recálculos.
Saludo,
Carlos J. Gil Bellosta
http://www.datanalytics.com
El día 5 de julio de 2015, 17:50, Fernando Macedo <[email protected]> escribió:
Hola Jorge.
Usando sapply mejoró un poco pero no demasiado en realidad.
Una vez lo estuve relojeando a mclapply (y otras funciones de ese paquete),
pero no probé mas allá de algunos ejemplos. Voy a terminar este trabajo y
lo pruebo, ya te contaré cuanto mejoró.
Un abrazo y gracias nuevamente!
El 5 de julio de 2015, 11:27, Jorge I Velez <[email protected]>
escribió:
De nada, Fernando.
Otra alternativa es usando mclapply() en el paquete "parallel". Estoy en
Mac/Linux y funciona muy bien. Seguramente hay algunos equivalentes en
Windows.
Saludos,
Jorge Velez
JCSMR, Canberra
2015-07-04 12:17 GMT+10:00 Fernando Macedo <[email protected]>:
Muchas gracias Jorge!
Si la opción del loop con for ya la tenía implementada y me demora
bastante por eso quería probar con apply o en este caso sapply, muchas
gracias!
Saludos!!
F Macedo
El 03/07/15 a las 23:09, Jorge I Velez escribió:
Hola Fernando,
Podrias considerar las siguientes opciones:
R2 <- vector("list", x)
for(i in 1:x){
modelo <- lm(y ~ efectos[, 1:i])
R2[[i]] <- summary(modelo)$r.squared
}
R2
opt2 <- sapply(1:x, function(i){
modelo <- lm(y ~ efectos[, 1:i])
summary(modelo)$r.squared
})
opt2
Para mas información revisa ?sapply, ?lapply y ?lm. En caso de que
necesites otros parámetros del modelo de regresión, te sugiero revisar el
resultado de
modelo <- lm(y ~ efectos[, 2])
names(summary(modelo))
Saludos cordiales,
Jorge Velez
JCSMR, Canberra
2015-07-04 12:01 GMT+10:00 Fernando Macedo <[email protected]>:
Buenas a todos, acá estoy yo de nuevo con problemas de loops.
Tengo el siguiente problema: un vector de datos (y) y una serie de
efectos. El loop lo que intenta es evaluar el R² de modelos incrementando
por vuelta una variable efecto.
Seria algo así:
for(i in 1:x) {
modelo=lm(y~efectos[,1:i])
... codigo para guardar R² y otros por cada vuelta...
}
apply() puede ir columna a columna pero no sé como hacer para que me
vaya "acumulando columnas" por así decir. De echo no se si puede hacer.
Espero haberme explicado y como siempre agradezco de antemano la
atención.
Un abrazo!
--
Fernando Macedo
_______________________________________________
R-help-es mailing list
[email protected]
https://stat.ethz.ch/mailman/listinfo/r-help-es
--
Fernando Macedo
[[alternative HTML version deleted]]
_______________________________________________
R-help-es mailing list
[email protected]
https://stat.ethz.ch/mailman/listinfo/r-help-es
_______________________________________________
R-help-es mailing list
[email protected]
https://stat.ethz.ch/mailman/listinfo/r-help-es