Tengo un vector lógico, para el cual deseo insertar nuevos elementos en índices particulares. He encontrado una solución torpe a continuación, pero ¿hay una manera más ordenada?¿Cómo insertar elementos en un vector?
probes <- rep(TRUE, 15)
ind <- c(5, 10)
probes.2 <- logical(length(probes)+length(ind))
probes.ind <- ind + 1:length(ind)
probes.original <- (1:length(probes.2))[-probes.ind]
probes.2[probes.ind] <- FALSE
probes.2[probes.original] <- probes
print(probes)
da
[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
y
print(probes.2)
da
[1] TRUE TRUE TRUE TRUE TRUE FALSE TRUE TRUE TRUE TRUE TRUE FALSE
[13] TRUE TRUE TRUE TRUE TRUE
Así funciona, pero es feo mirar - alguna sugerencia?
¿Por qué necesita hacer la inserción? – hadley
larga historia, pero básicamente buscando ejecuciones de TRUE, pero tengo lugares predeterminados donde quiero dividir una carrera. La primera vez utilicé "rle" pero escalo muy mal, así que se me ocurrió esta solución de vector sucio –