Mam kilka nazwisk autorów z innych krajów w pliku CSV, który R w porządku. Próbuję je wyczyścić, aby przesłać je do Mechanical Turk (który naprawdę nie lubi nawet jednej umiędzynarodowionej postaci). Czyniąc to, mam pytanie (być wysłana później), ale nie mogę nawet dput
je w rozsądny sposób:Jak poprawnie internować tekst w formacie dput?
> dput(df[306,"primauthfirstname"])
"Gwena\xeblle M"
> test <- "Gwena\xeblle M"
<simpleError in nchar(val): invalid multibyte string 1>
Innymi słowy, dput
działa dobrze, ale wklejanie wynik w nie . Dlaczego dput
nie wyprowadza niezbędnych informacji, aby umożliwić ponowne kopiowanie/wklejanie do R (prawdopodobnie wszystko, co trzeba zrobić, to dodać atrybuty kodowania do instrukcji struktury?). Jak mam to zrobić?
Zauważ, że \xeb
jest ważna postać w miarę R jest zaniepokojony:
> gsub("\xeb","", turk.df[306,"primauthfirstname"])
[1] "Gwenalle M"
jednak, że nie można oceniać indywidualnie znaki - to kod szesnastkowy \ x ## albo nic:
> gsub("\\x","", turk.df[306,"primauthfirstname"])
[1] "Gwena\xeblle M"
To działa dobrze dla mnie: '(test <-" Gwena \ xeblle M ")' daje '[1]" Gwenaëlle M "'. Używam R 2.14.0 z 'LANG = en_US.UTF-8'. –
@MichaelHoffman Co to jest 'LANG'? Jak mogę to sprawdzić? –
To jest zmienna środowiskowa. Wypróbuj 'Sys.getenv (" LANG ")'. Jakiej wersji R używasz? –