[R-es] Uso reiterado de la funcion seq

Francisco Javier iterador10 en hotmail.com
Mar Abr 18 21:13:39 CEST 2017


Muchas gracias Javier y Carlos por las respuestas!


Saludos,


F. Javier


________________________________
De: Carlos Ortega <cof en qualityexcellence.es>
Enviado: miércoles, 12 de abril de 2017 1:11
Para: Francisco Javier
Cc: r-help-es en r-project.org
Asunto: Re: [R-es] Uso reiterado de la funcion seq

Hola,

Esta es una forma de hacerlo con la librería "purrr":

#-----------------------
> library(purrr)
> x <- list(20, 25, 35)
> p <- list(2, 3, 5)
> res_out <- unlist(seq_along(x) %>%
+      map( ~seq(x[[.]], length.out = p[[.]], by=1) ))
> res_out
 [1] 20 21 25 26 27 35 36 37 38 39
#-----------------------

Saludos,
Carlos Ortega
www.qualityexcellence.es<http://www.qualityexcellence.es>

QualityExcellence<http://www.qualityexcellence.es/>
www.qualityexcellence.es
QUALITY EXCELLENCE, consultores en calidad, procesos y mejora continua




El 11 de abril de 2017, 22:13, Francisco Javier <iterador10 en hotmail.com<mailto:iterador10 en hotmail.com>> escribió:
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<mailto:R-help-es en r-project.org>
https://stat.ethz.ch/mailman/listinfo/r-help-es



--
Saludos,
Carlos Ortega
www.qualityexcellence.es<http://www.qualityexcellence.es>

	[[alternative HTML version deleted]]



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