我尝试在R中打开包含(传统)中文字符的UTF-8编码.csv文件.出于某种原因,R有时将信息显示为中文字符,有时显示为unicode字符.
例如:
data <-read.csv("mydata.csv", encoding="UTF-8")
data
Run Code Online (Sandbox Code Playgroud)
将生成unicode字符,同时:
data <-read.csv("mydata.csv", encoding="UTF-8")
data[,1]
Run Code Online (Sandbox Code Playgroud)
实际上会显示汉字.
如果我把它变成一个矩阵,它也会显示中文字符,但如果我试着查看数据(命令视图(数据)或修复(数据)),它会再次显示为unicode.
我向使用Mac的人(我使用的是PC,Windows 7)征求了建议,其中一些人一直都有汉字,有些则没有.我试图将原始数据保存为表格,并以这种方式将其读入R中 - 结果相同.我尝试在RStudio,Revolution R和RGui中运行脚本.我试图调整语言环境(例如中文),但是R不允许我改变它,否则结果是乱码而不是unicode字符.
我目前的语言环境是:
"LC_COLLATE = French_Switzerland.1252; LC_CTYPE = French_Switzerland.1252; LC_MONETARY = French_Switzerland.1252; LC_NUMERIC = C; LC_TIME = French_Switzerland.1252"
任何有助于让R持续展示汉字的帮助将不胜感激......
小智 4
不是一个错误,更多的是character在factor构造data.frame.
您可以首先开始,data <-read.csv("mydata.csv", encoding="UTF-8", stringsAsFactors=FALSE)这将使您的汉字成为该类型character,因此通过打印它们,您应该看到您所期望的内容。
@nograpes:同样x=c(\'\xe4\xb8\xad\xe8\x8f\xaf\xe6\xb0\x91\xe6\x97\x8f\');x; y <- data.frame(x, stringsAsFactors=FALSE),一切都应该没问题。