[R-es] Uso reiterado de la funcion seq

Javier Marcuzzi javier.ruben.marcuzzi en gmail.com
Mar Abr 11 22:27:31 CEST 2017


Estimado Francisco Javier

No estoy seguro de como puede aumentar el rendimiento, había hace un tiempo una forma entre trabajar con “código normal” o “código vectorizado”, sin embargo entiendo que en las últimas versiones de R dicha diferencia comenzaba a desaparecer.

Sin embargo habría dos alternativas que puede probar, una es utilizar compile (o compiler) no lo recuerdo exacto, básicamente R compila la función antes de ejecutarla, y la segunda alternativa puede ser escribir algo distinto utilizando como ejemplo de lo que está en la siguiente dirección http://stackoverflow.com/questions/10801750/whats-the-difference-between-lapply-and-do-call-in-r, por si aparecen diferencias al realizar lo mismo de distinta forma.

Javier Rubén Marcuzzi

De: Francisco Javier
Enviado: martes, 11 de abril de 2017 17:13
Para: r-help-es en r-project.org
Asunto: [R-es] Uso reiterado de la funcion seq

Hola a todos,

Escribo debido a una duda en la aplicacion de la funcion seq en cada uno de los "n" componentes de un vector "x". Hasta donde yo se, dicha funcion no permite el uso de vectores. 
En consecuencia, y como primera aproximacion a lo que deseo hacer, he construido un bucle  que retorne una lista de "n" vectores (de distinta longitud), donde cada uno de estos 
vectores resulta de aplicar la funtion seq a los respectivos elementos del vector "x" de la siguiente manera:

# Por ejemplo, sea n = 3 con los siguientes valores iniciales:
x <- c(20, 25, 35)
p <- c(2, 3, 5)

v <- vector('list', n)              # Lista vacia en donde ubicar los "n" vectores
for (i in 1:n) {
   v[[i]] <- seq(x[i], len = p[i])
}

# Posteriormente, ubico todos los vectores en un unico vector, por ejemplo con unlist: res <- unlist(v)
20 21 25 26 27 35 36 37 38 39

Sin embargo, el anterior bucle no es eficiente si "n" es muy grande , por lo que me pregunto si existe una forma mejor de hacerlo (quizas con lapply).
Muchas gracias.

F. Javier

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


	[[alternative HTML version deleted]]



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