【问题标题】:R apparently transform accent in coded character UTF-8R显然在编码字符UTF-8中转换重音
【发布时间】:2019-07-27 10:06:56
【问题描述】:
当我在对象 x 上创建带有重音符号的字符串(如“Opéra”)时,RStudio 返回带有字符编码(UTF-8?)的对象
我想得到“Opéra”而不是这个代码!
我能为此做些什么?是我的 Mac 有问题吗?和
R 或 R Studio 的参数?
非常感谢您的帮助。
我在 MacBook Pro 上使用 R 版本 3.6.1 和 RStudio 1.1.456
macOS 10.14.5
x
x
【问题讨论】:
标签:
encoding
character
rstudio
【解决方案1】:
我想我找到了解决编码问题的方法:使用包
来自 R 的 stringr 和命令 str_replace_all 我可以轻松替换所有
我在数据集的变量(列)中的重音由没有重音的相同字符组成。
这是我如何处理一个字符然后处理一个向量:
一个字符:
x<-"Opéra"
x
[1] "Op\303\251ra"
str_replace(x,"é","e")
Opera
#Several Characters in a vector
x4<-c("Opéra","Hôtel-de-Ville","Ménilmontant")
str_replace_all(x4,c("é"="e","ô"="o"))
[1] "Opera" "Hotel-de-Ville" "Menilmontant"
我现在可以将其应用于数据集的整个列
然后使用 mutate 创建一个没有重音的新列
并用那些可怕的代码取消旧列,比如
\303\251(代表字符é)
如果您有更优雅的解决方案,我会非常感兴趣
谢谢