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?
Sie können versuchen, Ihre "Schlüsselwörter" zusammenzufügen und sie mit dem Pipe-Zeichen ( |
) zu trennen, das wie ein "oder" funktioniert:
Tags und Links r grep grepl string-matching