R entfernen von Stoppwörtern aus einem character-Vektor mit %in%

Habe ich einen Daten-frame mit strings, die ich hatte, wie zu entfernen stop-Wörter aus. Ich versuche zu vermeiden, mit den tm - Paket, wie es ist ein großer Datensatz und tm scheint zu laufen ein bisschen zu langsam. Ich bin mit dem tm stopword Wörterbuch.

library(plyr)
library(tm)

stopWords <- stopwords("en")
class(stopWords)

df1 <- data.frame(id = seq(1,5,1), string1 = NA)
head(df1)
df1$string1[1] <- "This string is a string."
df1$string1[2] <- "This string is a slightly longer string."
df1$string1[3] <- "This string is an even longer string."
df1$string1[4] <- "This string is a slightly shorter string."
df1$string1[5] <- "This string is the longest string of all the other strings."

head(df1)
df1$string1 <- tolower(df1$string1)
str1 <-  strsplit(df1$string1[5], " ")

> !(str1 %in% stopWords)
[1] TRUE

Dies ist nicht die Antwort, die ich Suche. Ich versuche, einen Vektor oder eine Zeichenfolge der Wörter, die NICHT im stopWords Vektor.

Was mache ich falsch?

Das problem ist offensichtlich: string nbr 5 ist grammatikalisch falsch. 🙂 . Ok, gut, ich denke, Arun s e richtigen Weg, vorausgesetzt, dass "Wort" streng bedeutet, eine Zeichenfolge ohne Leerzeichen. Nach dem ausführen seinen code auf alle Elemente der df1$string Sie tun konnte unique wenn Sie wollen einfach nur eine Liste, aber keine Mengen, von den Worten.

InformationsquelleAutor screechOwl | 2013-03-06

Schreibe einen Kommentar