Wie zu erkennen/löschen nicht-UTF-8-Zeichen in R
Wenn ich importieren Sie einen Stata-Datensatz in R (mit der außen-Paket), der import manchmal enthält Zeichen, die nicht gültig UTF-8. Dies ist unangenehm genug von selbst, aber es bricht alles, sobald ich versuche, Sie zu verwandeln, das Objekt zu JSON (mit den rjson Paket).
Haben Sie eine Idee, wie ich mich identifizieren kann-nicht-gültig-UTF-8-Zeichen in einer Zeichenfolge zu löschen und danach?
InformationsquelleAutor Marcel Hebing | 2013-06-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Andere Lösung mit
iconv
und es argumentsub
: Zeichenfolge. Wenn nicht-NA(hier habe ich es "), es wird verwendet, um zu ersetzen Sie alle nicht-Cabrio-bytes in der Eingabe.Hier beachten, dass, wenn wir wählen Sie die richtige Codierung:
InformationsquelleAutor agstudy
Einen anderen Ansatz, um die zu entfernen schlechte chars mit dplyr auf das gesamte dataset:
Wo
MyData
undMyTextVar
werden der Datensatz und der text-Variablen zu entfernen, die faulen äpfel aus. Dies kann weniger robust als die änderung der Codierung, aber oft ist es gut und einfacher, Sie zu entfernen.MyDate %>% mutate_if(is.character, ~gsub('[^ -~]', '', .))
welche Ziele alle character-Spalten oderMyData %>% mutate_all(~gsub('[^ -~]', '', .))
das auf alle Spalten.InformationsquelleAutor Tyler Rinker
Statt Sie zu löschen, können Sie versuchen, konvertieren Sie Sie in UTF-8-string mit
iconv
.Können Sie ersetzen
latin1
durch eine geeignete enconding in Ihrem Fall.Da wir keinen Zugriff auf Ihre Daten ist schwierig zu wissen, was man werden mehr geeignet.
InformationsquelleAutor dickoa