在 Mac 上将 Unicode 转换为 R 中的元音变音符号(Facebook 数据)

Posted

技术标签:

【中文标题】在 Mac 上将 Unicode 转换为 R 中的元音变音符号(Facebook 数据)【英文标题】:Turn Unicode into Umlaut in R on Mac (Facebook Data) 【发布时间】:2016-01-09 13:23:32 【问题描述】:

我对此进行了大量研究,但仍然找不到解决方案。

我从一个德国 Facebook 群组中提取了数据,看起来像

from_ID         from_name           message                                        created_time
12334543        Max Muster          Dies war auch eine sehr sch<U+00F6>ne Bucht    2016-01-08T19:00:54+0000

我明白<U+00F6> 代表德语 Umlat ö。还有许多其他 Unicode 示例替代德语变音符号或其他语言特定符号(无论哪种语言)。

无论我是想进行情绪分析还是只制作一个 wordcloud,我有时都会遇到问题。在情绪的情况下,问题是训练数据不包含这些 Unicode,因此预测/分类出错。在其他基于文本的程序的情况下,像删除停用词这样的文本清理是一个问题,因为停用词列表也是“干净的”并且不包含这些代码。

有什么简单的方法可以摆脱这种情况,让 R 显示相应的符号而不是代码?

我尝试了很多。我最后的手段是 gsub 例程。但是我的数据框包含超过 100 万个 cmets。此外 gsub 会非常痛苦,因为似乎有太多的 Unicode(如果我们想到的语言比德语多)。

如果我做对了,我使用什么样的电脑也很重要。它是 MacBook Pro。

真的非常感谢这里的任何帮助!

非常感谢您的宝贵时间和帮助!

【问题讨论】:

【参考方案1】:

这有点神秘,但这会做到:

message <- c("Dies war auch eine sehr sch<U+00F6>ne Bucht", 
             "Schlo<U+00DF> Sch<U+00F6>nbrunn.")

# convert the <U+00xx> format to R's \\u00xx format for escaped Unicode
message2 <- stringi::stri_replace_all_fixed(message, c("<U+", ">"), c("\\u", ""), vectorize_all = FALSE)

# convert to native through parsing and coercing
as.character(parse(text = shQuote(message2)))
## [1] "Dies war auch eine sehr schöne Bucht" "Schloß Schönbrunn." 

【讨论】:

非常感谢您的建议。我已经在考虑存在格式问题。我试过你的代码。但是,它会导致完全不同的结果,不幸的是还没有完全起作用。这是您的代码消息的结果(在应用您的代码之前):“wer kann kurzfristig fr uns einspringen?”应用代码后的消息 2:表达式('wer kann kurzfristig fr uns einspringen?' 那些只是中间值,你想要的是第三条语句的评估。我在 Windows 7 上尝试过,它工作正常,语言环境设置如下:&gt; Sys.getlocale("LC_CTYPE") [1] "English_United States.1252" 再次感谢您的耐心和帮助。在我的情况下 Sys.getlocale() 返回 [1] "C" 我猜我的设置有问题,对吧? 参见cran.r-project.org/bin/macosx/…(第 7 项) - 在 OS X 上,您应该使用它来将 R 系统编码设置为 UTF-8,问题应该会得到解决。 谢谢你一百万次!这解决了所有问题!!!我希望有一天我能回报一个如此大的帮助和帮助!

以上是关于在 Mac 上将 Unicode 转换为 R 中的元音变音符号(Facebook 数据)的主要内容,如果未能解决你的问题,请参考以下文章

使用 Aimersoft DVD Ripper 在 Mac 上将家庭 DVD 转换为视频/音频?如何编辑 DVD 电影?

如何使用Aimersoft Video Suite在 Mac 上将视频转换为任何格式

如何在Mac OS X上将PDF转换为Microsoft Word

如何在Mac上将视频刻录到DVD / ISO文件

如何在Windows上将jar文件转换为.dmg [重复]

在 Ubuntu Server 上将 .R 文件转换为实际的 Shiny 应用程序