我在 CSV 中有一堆来自外国的作者姓名,R 可以很好地读取。我正在尝试清理它们以上传到 Mechanical Turk(它甚至不喜欢单个国际化字符)。这样做,我有一个问题(稍后发布),但我什至不能dput
以一种明智的方式:
> dput(df[306,"primauthfirstname"])
"Gwena\xeblle M"
> test <- "Gwena\xeblle M"
<simpleError in nchar(val): invalid multibyte string 1>
换句话说,dput
工作得很好,但粘贴结果失败。为什么不dput
输出必要的信息以允许复制/粘贴回 R 中(大概它需要做的就是将编码属性添加到结构语句中?)。我如何让它这样做?
请注意,\xeb
就 R 而言,这是一个有效字符:
> gsub("\xeb","", turk.df[306,"primauthfirstname"] )
[1] "Gwenalle M"
但是您不能单独评估字符 - 它是十六进制代码 \x## 或什么都没有:
> gsub("\\x","", turk.df[306,"primauthfirstname"] )
[1] "Gwena\xeblle M"