是否有预先存在的功能来为 Mechanical Turk 清理 data.frame 的字符列?这是它挂断的线路示例:
x <- "Duke\U3e32393cs B or C, no concomittant malignancy, ulcerative colitis, Crohn\U3e32393cs disease, renal, heart or liver failure"
我认为这些是 unicode 字符,但 MT 不允许我在其中继续使用它们。我显然可以很容易地对这些进行正则表达式,但我使用了相当多的 MT,并希望有一个更通用的解决方案来删除所有非 ascii 字符。
编辑
我可以按如下方式删除编码:
> iconv(x,from="UTF-8",to="latin1",sub=".")
[1] "Duke......s B or C, no concomittant malignancy, ulcerative colitis, Crohn......s disease, renal, heart or liver failure"
但这仍然让我缺乏对任何元素使用非 utf8 编码的向量的更通用的解决方案。
> dput(vec)
c("Colorectal cancer patients Duke\U3e32393cs B or C, no concomittant malignancy, ulcerative colitis, Crohn\U3e32393cs disease, renal, heart or liver failure",
"Patients with Parkinson\U3e32393cs Disease not already on levodopa",
"hi")
请注意,常规文本正在编码“未知”,它没有转换为“latin1”,因此使用 iconv 的简单解决方案失败。我在下面尝试了一种更细微的解决方案,但我对此并不满意。