我正在使用一些SurveyMonkey响应数据,我从.xlsx文件导入。
沿着这些方向发生了一些事情:
> unique(responseColumn)
[1] "This string"
[2] "Something else"
>(responseColumn == unique(responseColumn)[1])
[1] 25
>sum(responseColumn == "This string")
[1] 0
>unique(responseColumn)[1]
[1] "This string"
>unique(responseColumn)[1] == "This string"
[1] FALSE
显然这令人困惑。我玩了一会儿,发现我可以使用
writeClipboard(unique(responseColumn)[1])
捕获有问题的字符串并将其粘贴到我的代码中。
在控制台中,它看起来完全一样:“这个字符串”。
但是,在我的脚本编辑窗口中,它显示为:
我将红点复制到剪贴板并进行了一些测试:
>readClipboard()
[1] " "
>readClipboard() == " "
[1] FALSE
>utf8toInt(" ")
[1] 32
>utf8toInt(readClipboard())
[1] NA
这个神秘人物是什么?我编写了Survey Monkey问题并明确记住在指定此选项时在键盘上点击“空格”。响应中的其他空间保持不变(事实上,所讨论的响应实际上有多个空格IRL,其中只有一个空间被转换为这个mysteryChar)。这是怎么回事?
我的猜测是“红色”点只是一些非ASCII,可能是UTF-8字符。你无法在R控制台中看到它并不意味着它仍然没有在Windows剪贴板中逻辑上存在。这可能只是意味着R控制台没有正确显示UTF-8字符。
如果您的R工具未正确显示字符,请考虑将其配置为支持UTF-8。