显示UTF-8编码中的R字中国(Displaying UTF-8 encoded Chinese c

2019-06-25 09:18发布

我尝试打开包含在R.(传统)中国人物出于某种原因,一个UTF-8编码的.csv文件,R有时显示的信息是中国字,有时Unicode字符。

例如:

data <-read.csv("mydata.csv", encoding="UTF-8")

data

会产生Unicode字符,而:

data <-read.csv("mydata.csv", encoding="UTF-8")

data[,1]

将实际显示中国文字。

如果我把它变成一个矩阵,它也将显示中国的字符,但如果我尝试看看数据(命令视图(数据)或修复(数据)),它采用的是unicode一次。

我问过的意见,从谁使用的是Mac(我使用电脑,Windows 7)的人,他们中的一些在整个中国得到了字,另一些则没有。 我试图把原始数据保存为一个表,而不是读入读该办法 - 同样的结果。 我试图运行在RStudio,革命R和RGUI脚本。 我试图调整区域设置(如到中国),但为R并没有让我改变它,否则的结果是乱码,而不是Unicode字符。

我现在的locale是:

“LC_COLLATE = French_Switzerland.1252; LC_CTYPE = French_Switzerland.1252; LC_MONETARY = French_Switzerland.1252; LC_NUMERIC = C; LC_TIME = French_Switzerland.1252”

任何帮助获得R键始终显示中国文字将不胜感激......

Answer 1:

不是一个错误,更多的是底层类型系统的转换误解(的character类型和factor构建时型) data.frame

你可以用第一次启动data <-read.csv("mydata.csv", encoding="UTF-8", stringsAsFactors=FALSE)这将使你的中国人物是的character类型,因此通过打印出来,你应该看啥子你期待。

@nograpes:同样x=c('中華民族');x; y <- data.frame(x, stringsAsFactors=FALSE) x=c('中華民族');x; y <- data.frame(x, stringsAsFactors=FALSE)一切应该确定。



Answer 2:

在我的情况下,UTF-8编码并不在我的[R工作。 但是GB *编码works.But在Ubuntu的UTF8 wroks。 首先,你需要弄清楚的默认编码在你的操作系统。 和编码它,因为它是。 作为UTF8正常甚至声称其保存为etf8 Excel不能编码。

(1)下载的 '开放片'。

(2)适当地打开它。 直到你看到在预览窗口中显示的中国字符,你可以滚动的编码方法。

(3)将其保存为UTF-8(如果你想UTF-8)。 (UTF-8并不是解决所有问题,你必须先知道你的系统默认编码)



文章来源: Displaying UTF-8 encoded Chinese characters in R
标签: r utf-8 locale