【发布时间】:2019-07-30 08:44:02
【问题描述】:
我正在处理一些从 .xlsx 文件导入的 SurveyMonkey 响应数据。
类似的事情正在发生:
> 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
这个神秘人物是什么?我写了调查猴子问题,并清楚地记得在指定此选项时在键盘上按了“空格”。响应中的其他空格保持原样(事实上,有问题的响应实际上有多个空格 IRL,其中只有一个已转换为这个神秘字符)。怎么回事?
【问题讨论】:
-
除了标准空格之外,还有大量的空格字符。我们不能说它是哪一个,但你可能应该清理你的输入。
标签: r ascii whitespace utf