Używam i wordcloud()
dla niektórych podstawowych eksploracji danych w R, ale mam problemy, ponieważ w moim zestawie danych są znaki spoza alfabetu łacińskiego (mimo że Wcześniej próbował odfiltrować inne języki oparte na zmiennych tłaUsuwanie tekstu w języku innym niż angielski z Corpus w R za pomocą tm()
Powiedzmy, że niektóre linie w moim pliku TXT (zapisane jako UTF-8 w TextWrangler) wyglądać tak:.
Special
satisfação
Happy
Sad
Potential für
I wtedy przeczytaj mój plik tekstowy w R:
words <- Corpus(DirSource("~/temp", encoding = "UTF-8"),readerControl = list(language = "lat"))
Daje komunikat ostrzegawczy:
Warning message:
In readLines(y, encoding = x$Encoding) :
incomplete final line found on '/temp/file.txt'
Ale ponieważ jest to ostrzeżenie, nie błąd, to nadal będzie dążyć do przodu.
words <- tm_map(words, stripWhitespace)
words <- tm_map(words, tolower)
To wtedy daje błąd:
Error in FUN(X[[1L]], ...) : invalid input 'satisfa��o' in 'utf8towcs'
Jestem otwarty na znalezienie sposobów, aby odfiltrować znaki spoza alfabetu angielskiego zarówno w TextWrangler lub R; cokolwiek jest najbardziej dogodne. Dzięki za pomoc!
Jeśli celem jest po prostu usunąć te znaki spoza ASCII, to będzie do trick: 'sapply (słowa , function (row) iconv (row, "latin1", "ASCII", sub = "")) '[(tutaj)] (http://stackoverflow.com/a/15754155/1036500). Jednak pozostawi to fragmenty tekstu z brakującymi znakami. Jeśli chcesz usunąć słowa inne niż angielskie, możesz podzielić słowa ze znakami spoza ASCII, dodać je do swojej listy stopów i usunąć je podczas usuwania słów kończących. – Ben
Właściwie to widziałem, ale to otwiera drzwi do zmiany korpusu na inny obiekt? Uruchamianie tego polecenia na korpusie daje: 'Błąd w UseMethod (" tm_map ", x): brak stosowanej metody dla 'tm_map' zastosowanej do obiektu klasy" c ('matrix', 'character') "' – roody
Możesz przekonwertuj wyjście "sapply" z powrotem do korpusu jak: 'dat1 <- sapply (słowa, funkcja (wiersz) iconv (wiersz," latin1 "," ASCII ", sub =" "))' następnie z powrotem do corpus: 'words1 <- Corpus (VectorSource (dat1))' – Ben