У меня есть файл .RData для чтения на моем компьютере Linux (UTF-8), но я знаю, что файл находится на латинице1, потому что я создал их самостоятельно в Windows. К сожалению, у меня нет доступа к исходным файлам или Windows-машине, и мне нужно прочитать эти файлы на моей машине Linux.Чтение файла Rdata с различной кодировкой
Чтобы прочитать файл Rdata, обычной процедурой является запуск load("file.Rdata")
. Функции, такие как read.csv
, имеют аргумент encoding
, который вы можете использовать для решения таких проблем, но load
не имеет такой вещи. Если я пытаюсь load("file.Rdata", encoding = latin1)
, я просто получить это (ожидаемое) сообщение об ошибке:
Error in load("file.Rdata", encoding = "latin1") : unused argument (encoding = "latin1")
Что еще я могу сделать? Мои файлы загружаются текстовыми переменными, содержащими акценты, которые повреждаются при открытии в среде UTF-8.
Файлы RData не имеют кодировок. Вам необходимо загрузить сериализованную Rdata, а затем повторно закодировать значения, когда они находятся внутри рабочего пространства R. Если это неясно, прочитав «Кодирование», выполните загрузку и опубликуйте вывод 'dput (head (object))'. –
@ 42, это, кажется, решает проблему, слишком плохо, по-видимому, мне нужно применить «Кодирование (x)» к каждому вектору в моем фреймворке данных. Я лучше посмотрю на него и вернусь к вам. –
Вы можете записывать имена в рабочей области до и после загрузки, а затем работать с разницей для элементов, имеющих знаковые значения. –