J'ai un vecteur logique, pour lequel je souhaite insérer de nouveaux éléments à des index particuliers. Je suis venu avec une solution maladroite ci-dessous, mais y a-t-il une façon plus simple?Comment insérer des éléments dans un vecteur?
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)
donne
[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
et
print(probes.2)
donne
[1] TRUE TRUE TRUE TRUE TRUE FALSE TRUE TRUE TRUE TRUE TRUE FALSE
[13] TRUE TRUE TRUE TRUE TRUE
Il fonctionne, mais est laide à la recherche - des suggestions?
Pourquoi avez-vous besoin de faire l'insertion? – hadley
longue histoire, mais essentiellement à la recherche de courses de TRUE, mais ont des endroits prédéterminés où je veux rompre une course. La première fois que j'ai utilisé "rle", mais il a très peu évolué, donc est venu avec cette solution de vecteur sale –