微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Mac的RStudio上获取汉字中的有效编码输出?

如何解决如何在Mac的RStudio上获取汉字中的有效编码输出?

我们正在清理一些繁体中文的营销数据。我们发现 R 可以毫无问题地读取 UTF-8 繁体中文变量名。但是,我们无法在那里获得有效的 UTF-8 输出。例如,

如果我们命令:unique(rframe$性別)

这是我们得到的:[1] "\u5973" "\u7537"

其中性别为“性别”,\u5973表示女(女),\u7537表示男(男)。

最有趣的是,如果我们使用相同的 UTF-8 CSV 文件,Linux 平台上的 R 会生成有效的 UTF-8 中文输出。为什么同样的RStudio,在Linux平台上可以成功生成UTF-8的中文输出编码,在Mac系统上却无法输出有效的UTF-8中文输出

这个非常麻烦的问题已经存在很长时间了。事实上,在较旧的 RStudio 版本中,我们可以获得有效的 UTF-8 输出。有朋友可以帮帮我们吗?

非常感谢。

钱德勒

解决方法

可能是数据导入错误。您是如何导入数据的?

我尝试导入一些带有中文字符的数据并使用特定的 encoding="UTF-8" 并且我没有任何问题。

所以我的第一个建议是试试这个:

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

另一种方法是将变量指定为字符。根据以下answer。所以你得到的是汉字而不是 unicode。

as.character(unique(rframe$性別))

如果您提供数据的摘录,我可以检查并可能确认这一点。

,

经过几次尝试和错误后,我们发现这个问题可能来自在 Mac 上生成 R 应用程序的过程。

我们从 Git 下载了 R 并编译了一个应用程序,通过 Apple clang 版本 12.0.0(clang-1200.0.32.29,目标:x86_64-apple-darwin19.6.0),从源代码。它工作正常。我们的麻烦问题不再出现。我们今天向 R 社会报告了我们的发现。我们希望人们能尽快看到快速回复。

以下消息是我们发送给 R 的报告。

致:Bug-Report-Request bug-report-request@r-project.org

嗨,

我更像是一名系统程序员,帮助我的朋友 (Chandler) 使用 R 来处理数据。他在终端上获取中文/Unicode 输出时遇到了一些麻烦。但是,这只发生在 Mac 上。我无法在 Linux 上重现它。

我认为 R - Mac 版本可能有问题。我用 GitHub 的源代码重新编译了 R,我无法重现这个问题。网站下载一次即可重现,失败率100%。

详细信息位于 https://www.facebook.com/groups/RnRStudio/permalink/4555694011125386/

我认为这是因为编译 R/MAC 的工具链可能已经过时。

如果您可以在 Bugzilla 上创建错误并允许我在那里发表评论,我将不需要 Bugzilla 帐户。或者,如果你们中的任何人可以在这个问题上提供赞助,那就更好了。

或者我需要一个 Bugzilla 帐户。

谢谢!

,

此问题来自 R 版本 4.0.4 源代码中的一个错误。 UTF-8 代码无法在 Windows 和 Mac 上有效显示。 4.0.5 版本已修复。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。