Napisał do mnie maila Krzysztof T. z informacją, że strona kodowa windows-1250, którą zakodowałem polskie znaczki w zbiorze danych Diagnoza Społeczna źle wygląda pod Linuxami.
Zmieniłem więc pliki z danymi usuwając znaki diaktrytyczne. Można też było zmienić kodowanie na UTF-8, ale usunięcie ogonków gwarantuje zgodność z każdym systemem operacyjnym.
Do zmiany kodowania w programie R można użyć funkcji iconv(), która wykorzystuje specyficzne dla systemu narzędzia do konwersji. Listę obsługiwanych stron kodowych wyświetla funkcja iconvlist().
Poniżej przykładowy kod R który usuwa znaki diaktrytyczne ze zbioru danych diagnozaOsoby2011. Podanie argumentu to=”UTF-8″ spowodowałoby konwersje do formatu UTF-8. W systemie Windows od wersji R 2.11 aby usunąć ogonki należy podać argument to=”ASCII//TRANSLIT”, pod innymi systemami wystarczy to=”ASCII”.
# konwertujemy nazwy kolumn colnames(diagnozaOsoby2011) <- iconv(colnames(diagnozaOsoby2011), from="windows-1250", to="ASCII//TRANSLIT") # konwertujemy nazwy poziomów w zmiennych jakościowych for (i in 1:ncol(diagnozaOsoby2011)) if ("factor" %in% class(diagnozaOsoby2011[,i])) levels(diagnozaOsoby2011[,i]) <- iconv(levels(diagnozaOsoby2011[,i]), from="windows-1250", to="ASCII//TRANSLIT") |