Pracuję z danymi ze wszystkich możliwych języków europejskich. R nie rozpoznaje poprawnie znaków specjalnych, np. "ć" zamiast "c".
> "ć"
[1] "c"
Natknąłem się na to różne czasy i znalazłem obejścia (read.csv, i inne funkcje mają opcję encoding
), to jednak nie rozwiązuje mojego problemu, jak opisano powyżej. Dalej próbowałem
> a <- "ć"
> Encoding(a)
[1] "unknown"
i ustawienie options
dla encoding
do "utf-8" bez sukcesu. Czy istnieje sposób, aby powiedzieć R z jakim kodowaniem odczytać z konsoli przed faktycznym przypisaniem tej postaci?
Odpowiedzi:
2 dla odpowiedzi № 1Jest to spowodowane tym, że postać nie jest dostępna wustawienia regionalne, które ustawiłeś. Możesz zmienić ustawienia regionalne na takie, które mają znak, ale może to wpłynąć na inne znaki, a postać może być interpretowana inaczej, jeśli później zmienisz ustawienia regionalne, więc uwaga, emptor.
Sys.setlocale("LC_CTYPE","Polish")
[1] "Polish_Poland.1250"
"ć"
[1] "ć"
Bardziej niezawodnym sposobem radzenia sobie z tą postacią jest użycie jej reprezentacji w Unicode. Oczywiście, będziesz musiał wstępnie przetworzyć dane, aby je zmienić.
"u0107"
[1] "ć"