Ich möchte die Reihenfolge zwischen Elementen in einem Vektor erhalten. Hier ist ein reproduzierbares Beispiel.Finde Reihenfolge zwischen Elementen in einem Vektor
vec <- c('a', letters[2:7], 'a', letters[9:14], 'a', letters[16:21]) # sample data
ind_a <- which(grepl('a', vec)) # indices matching the character 'a'
ind_a <- c(ind_a, length(vec)+1) # concatenate the length of 'vec' + 1 with indices
ind_a
# [1] 1 8 15 22
Nun, wie die Sequenz zwischen den Elementen der ind_a
zu berechnen. Zum Beispiel seq(from = 2, to = 7, by = 1)
und das Gleiche für andere.
Vorzugsweise möchte ich irgendeine Funktion in der Basis R für diese Aufgabe kennen.
Erwartete Ausgabe
# List of 3
# $ : int [1:6] 2 3 4 5 6 7
# $ : int [1:6] 9 10 11 12 13 14
# $ : int [1:6] 16 17 18 19 20 21
Alternative Syntax: 'Karte (Seq, Kopf (ind_a, -1) + 1, Schwanz (ind_a, -1) - 1)' – Zelazny7