Ich habe einen Datenrahmen, sagenentfernen Fälle nach bestimmten anderen Fällen
df = data.frame(x = c("a","a","b","b","b","c","d","t","c","b","t","c","t","a","a","b","d","t","t","c"),
y = c(2,4,5,2,6,2,4,5,2,6,2,4,5,2,6,2,4,5,2,6))
ich nur die Zeilen, in denen ein oder mehr t
s sind direkt zwischen einem d
und einem c
, in allen anderen Fällen entfernen möge Ich möchte die Fälle behalten. Also für dieses Beispiel möchte ich die t
s in Reihe 8, 18 und 19 entfernen, aber die anderen behalten. Ich habe über Tausende von Fällen, also wäre dies ein echter Horror. Jede Hilfe wird sehr geschätzt.
Sie Zeilen bedeuten ** 8 **, 18, 19 ...? – Sotos
Sie können mit 'regexec (" dt + c ", ...)' auf 'paste0 (df $ x, collapse =" ")' arbeiten, um die Position des Musters zu bestimmen. Nachdem man gefunden hat, muss man die Zeichenkette manipulieren, um das nächste Auftreten des Musters zu finden. – jogo
@Sotos, das ist in der Tat, was ich meinte, tut mir leid –