【发布时间】:2020-06-04 12:01:57
【问题描述】:
假设我们有这个数据:
Country Value
China Word1 1,427,647,786
India Word2 1,352,642,280
United States Word3 327,096,265
Indonesia WordsHere 267,670,543
Pakistan ThisIsAWord 212,228,286
Brazil Test Test 209,469,323
Nigeria Hello 195,874,683
Bangladesh Word5 161,376,708
Russia Words 145,734,038
Mexico This Word 126,190,788
我想将 Country 与其旁边的单词(例如 Word1 ....)分成两列。显然我可以只给我们一个分隔符,例如空格或逗号。但这变得有问题,因为有些国家在其中有空间。它位于一个应用程序中,我不一定知道将使用哪些国家/地区。所以我不能手动列出例外情况。
我得到的最接近的是使用我在网上找到的各种“模糊匹配”功能。然而,它们似乎只在 90% 的时间内工作。不幸的是,在这个用例中这是不可接受的......
编辑:在@Limey 的评论之后,在一些单词之间添加了空格以更准确地反映手头的数据。
【问题讨论】:
-
在你的测试数据中,国家后面只有一个单词。那么为什么不直接查找 last 单词并将其删除呢?如果你的真实数据有边缘情况,你可能有多词国家和多词垃圾,或者没有尾随词的国家,那么我认为唯一 100% 可靠的方法是查看国家列表。
-
这是个好主意,谢谢!但是,我确实只是再次查看了数据,并且存在多词(带空格)的情况。我会看看国家/地区查询。
-
@Limey,我将如何使用查找表将其与上面的 Country 列相匹配?因为它们不匹配 100%。那是我已经尝试过的方法,这意味着我有一个查找列表,然后我使用了其中一种模糊匹配方法。它们不准确。
标签: r datatable data.table