В то время как R, похоже, хорошо работает с символами Юникода, я не могу выводить кадр данных в R с такими символами Юникода UTF-8. Есть ли способ заставить это?
data.frame(c("hīersumian","ǣmettigan"))->test
write.table(test,"test.txt",row.names=F,col.names=F,quote=F,fileEncoding="UTF-8")
Выходной текстовый файл читает:
hiersumian <U+01E3>mettigan
Я использую R версии 3.0.2 в среде Windows (Windows 7).
ИЗМЕНИТЬ
В ответах было предложено, что R правильно записывает файл в UTF-8 и что проблема связана с программным обеспечением, которое я использую для просмотра файла. Здесь некоторый код, где я делаю все в R. Я читаю текстовый файл, закодированный в UTF-8, и R читает его правильно. Затем R записывает файл в UTF-8 и снова считывает его обратно, и теперь правильные символы Unicode исчезли.
read.table("myinputfile.txt",encoding="UTF-8")->myinputfile
myinputfile[1,1]
write.table(myinputfile,"myoutputfile.txt",row.names=F,col.names=F,quote=F,fileEncoding="UTF-8")
read.table("myoutputfile.txt",encoding="UTF-8")->myoutputfile
myoutputfile[1,1]
Выход консоли:
> read.table("myinputfile.txt",encoding="UTF-8")->myinputfile
> myinputfile[1,1]
[1] hīersumian
Levels: hīersumian ǣmettigan
> write.table(myinputfile,"myoutputfile.txt",row.names=F,col.names=F,quote=F,fileEncoding="UTF-8")
> read.table("myoutputfile.txt",encoding="UTF-8")->myoutputfile
> myoutputfile[1,1]
[1] <U+FEFF>hiersumian
Levels: <U+01E3>mettigan <U+FEFF>hiersumian
>