Ich versuche, Zeilenfolgen aus einem Datenrahmen zu löschen, die Sequenz beginnt mit einer bekannten Zeichenfolge und endet mit einer bekannten Zeichenfolge, aber die Inhalt und Anzahl der dazwischenliegenden Zeilen ist unbekannt. Ich möchte dies über den gesamten Datenrahmen iterieren.R For loop delete Bereich von Zeilen von einer Zeichenfolge zu einer zweiten Zeichenfolge in einer Spalte
Zum Beispiel, wenn der Datenrahmen wie unten ist, würde Ich mag die Zeilen aus allen Instanzen Stringa zu stringB (einschließlich) zu entfernen, aber die Zeilen behalten, die stringB bis zur nächsten Wiederholung von Stringa folgen; Im folgenden Beispiel möchte ich die Zeilen entfernen, die StringA, unknownC, unknownD, unknownS, StringB enthalten, aber unknownK und unknownR behalten und dann mit StringA, unknownU, unknownP, StringB weiter löschen, aber unknownT behalten.
Column 1 Column 2
StringA 1
unknownC 9
unknownD 11
unknownS 5
StringB 7
unknownK 6
unknownR 1
StringA 76
unknownU 2
unknownP 41
StringB 3
unknownT 9
Ich versuchte df2 <- df[1:which(df[,1]=="StringA")-1,]
, was nicht korrekt ist, aber bin ratlos wie das, was anderer Ansatz zu versuchen. Vielen Dank im Voraus für jede Anleitung.
Ist sicher bekannt, dass stringA immer mit einem nachfolgenden stringB gepaart ist? Ist auch bekannt, dass sich die Saiten A und B immer abwechseln (z. B. Never A ... A ... B)? – dww
Ja, ist es. Es wird immer A ... B sein und niemals A..A ... B – SPZ