Finde Übereinstimmungen eines Vektors von Strings in einem anderen Vektor von Strings

9

Ich versuche, eine Teilmenge eines Datenrahmens von Nachrichtenartikeln zu erstellen, die mindestens ein Element eines Satzes von Schlüsselwörtern oder Phrasen erwähnen.

%Vor%

Angesichts des Vektors der Schlüsselwörter sollte die Teilmenge die Zeilen 1, 2 und 4 enthalten, da diese Zeilen eines oder mehrere der Elemente des Vektors enthalten.

Weder %in noch grepl() funktionieren, da %in% die Vektorisierung jedes Wortes im Datenrahmen erfordert ( articles$text %in% keywords ergibt vier FALSE s), und grep() erscheint nicht um mit vektorisierten Mustern umgehen zu können ( grep(keywords, articles$text) gibt einen Fehler). Keine Funktion alleine scheint über mehrere Dimensionen hinweg gut zu funktionieren (d. H. Es wäre einfach, in allen Zeilen nach einem Wort zu suchen, aber nicht alle 3 gleichzeitig).

Was ist der beste Weg, um alle Zeilen des Datenrahmens zu finden und auszuwählen, die mindestens eines der Elemente des Schlüsselwortvektors enthalten?

    
Andrew 16.06.2013, 04:12
quelle

1 Antwort

14

Sie können versuchen, Ihre "Schlüsselwörter" zusammenzufügen und sie mit dem Pipe-Zeichen ( | ) zu trennen, das wie ein "oder" funktioniert:

%Vor%     
A5C1D2H2I1M1N2O1R2T1 16.06.2013, 04:17
quelle

Tags und Links