Foro de debate

Como intercalar datos

 
Imagen de Antti K. Risto
Como intercalar datos
de Antti K. Risto - miércoles, 12 de septiembre de 2018, 10:42
 

Hola soy novato en esto y supongo que esta es una pregunta muy sencilla :)


tengo un vector1 con datos (digamos a,b,c,d) y otro vector2 con 4 ceros.

Como puedo añadir los 4 ceros del vector2 después de cada dato del vector1?

De tal manera que quede

(a,0,0,0,0,b,0,0,0,0,c,0,0,0,0,d,0,0,0,0)


Gracias



Imagen de Franz Jimeno
Re: Como intercalar datos
de Franz Jimeno - lunes, 17 de septiembre de 2018, 20:29
 

Por ejemplo así.

En la variable a tenemos un vector de caracteres.

a <- c("a", "b", "c")

Luego aplicamos las siguientes funciones:

unlist(lapply(a, function(x) {c(x, c("0", "0", "0", "0"))}))

No se si habrá alguna manera más eficiente.


Un saludo,


Franz

Imagen de Manuel Muñoz Márquez
Re: Como intercalar datos
de Manuel Muñoz Márquez - martes, 18 de septiembre de 2018, 10:08
 

Buenas:

Otra forma usando indexación de vectores es:

> a <- c("a", "b", "c")
> e <- numeric(length(a)*5)
> e[seq(1, length(a)*5, 5)] <- a
> e
[1] "a" "0" "0" "0" "0" "b" "0" "0" "0" "0" "c" "0" "0" "0" "0"

Un saludo.