r - 来自不同数据文件的相同字符串在 R 中不匹配

标签 r string-matching

我正在做一些文件合并,但两个文件不会 - 尽管有一个匹配的键列(我实际上是通过从另一个复制粘贴生成一个键列)。这是最该死的事情,我担心我要么发疯了,要么错过了一些基本的东西。作为一个例子(我无法弄清楚如何使它可重现,因为当我将这些字符串复制并粘贴到新对象中时,它们比较得很好),这是我当前的控制台:

> q
[1] "1931 80th Anniversary"
> z
[1] "1931 80th Anniversary"
> q == z
[1] FALSE

我对两者都进行了 str-ed,以防万一我遗漏了什么,并且...

> str(q)
 chr "1931 80th Anniversary"
> str(z)
 chr "1931 80th Anniversary"

这里可能发生了什么?

最佳答案

这是一款很棒的益智游戏。要回答 - 要诊断问题,charToRaw() 就是答案。

> charToRaw(q)
 [1] 31 39 33 31 c2 a0 38 30 74 68 c2 a0 41 6e 6e 69 76 65
[19] 72 73 61 72 79
> charToRaw(z)
 [1] 31 39 33 31 20 38 30 74 68 20 41 6e 6e 69 76 65 72 73
[19] 61 72 79

哦!不同的!它似乎在于编码,考虑到这些都是我从中加载的普通 ole' CSV,我永远不会猜到,但是

> Encoding(q)
[1] "UTF-8"
> Encoding(z)
[1] "unknown"

最后,我在 q 上使用 iconv() 让它工作

> iconv(q, from = 'UTF-8', to = 'ASCII//TRANSLIT') == z
[1] TRUE

这是一段奇怪的旅程,我希望这能帮助像我一样困惑的其他人 - 并且他们在此过程中学到了一些新功能。

关于r - 来自不同数据文件的相同字符串在 R 中不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64656479/

相关文章:

sql - 在 ORACLE 中搜索最长前缀的最快方法

mysql - 将匹配的字符串移动到 MySQL 中的末尾

string - 删除子字符串中所有出现的测试用例

r - 如何 "Tidy"Quickbooks 期刊数据进行 R 分析

r - 颜色未显示在图表中

algorithm - 此合并和填充操作的功能/算法是什么?

r - 基于另一个数据帧创建一个新的数据帧(使用循环或其他方式)

RStudio 不显示任何 Pane

algorithm - O(N) 中字符串中子字符串出现的次数

json - 如何获取具有相同名称的 As route53 中 HostedZone 的 HostedZoneId?