[R-es] Problema con loop

Fernando Macedo
Sun, 05 Jul 2015 15:50:42 -0000

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 <jorgeivanvelez en gmail.com>
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 <fermace en gmail.com>:
>
>>  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 <fermace en
gmail.com>:
>>
>>> 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
>>> R-help-es en r-project.org
>>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>>
>>
>>
>>
>


--
Fernando Macedo