r - 加入和合并仅在 R 中部分和完全工作
问题描述
我正在使用从全局环境中获取并加载到 R 中的数据集。它已保存为 CSV,并且正在 R 中作为来自该 CSV 的数据框读取。该数据集 ( survey_df
) 有近 300 万个条目,我正在尝试基于列 ID(重复多次,因为每个 id 有多个条目)将这个数据集加入到最初是 shapefile 并且现在作为数据帧加载到 R 中的数据集shapefile_df
. 该数据框有 60,000 个唯一条目,每个条目代表一个国家/地区的几何。在大多数情况下,我们希望每个几何有很多条目。我正在使用一个简单的 left_join 理论上应该将这两个数据集连接在一起。我遇到了一个问题,他们没有完全结合在一起,只有一些条目。我已经尝试过内部、完全和正确的加入以及合并,但我一直遇到同样的问题。我做了一个 full_join 和 id 列的副本来比较那些没有加入的列,我没有看到任何模式。他们似乎是同一个 id,由于某种原因他们没有加入。我尝试格式化它们as.character
,as.factor
但没有。下面我粘贴了一个加入/未加入 df 的示例。
匹配的 ID
| survey_df_id | survey_id_copy | shapefile_df_id
-------------- | -------------- |--------------
0901200010229 | 0901200010229 | 0901200010229
0901500010729 | 0901500010729 | 0901500010729
090050001087A | 090050001087A | 090050001087A
0900600010467 | 0900600010467 | 0900600010467
0901400010897 | 0901400010897 | 0901400010897
0901200011960 | 0901200011960 | 0901200011960
不匹配的 ID
| survey_df_id | survey_id_copy | shapefile_df_id
-------------- | -------------- |--------------
01903900010480 | 01903900010480 | NA
070470001010A | NA | 070470001010A
0704700010117 | NA | 0704700010117
0704700010140 | NA | 0704700010140
0705200010672 | NA | 0705200010672
0705200010742 | NA | 0705200010742
大多数不匹配的条目就像shapefile_df_id
是 NA 的第一行。但是,有一些地方survey_id_copy
是 NA。这个领域只是一个领域mutate
,survey_df_id
理论上应该没有任何不同,但它们是。知道是什么原因造成的吗?我怀疑这是一个格式问题,但正如所说,使用as.
并没有解决这个问题。我正在使用 tidyverse 和 read.csv。有什么帮助吗?
解决方案
推荐阅读
- mysql - 使用 ngrok 公开 mysql 并使用 Datagrip (WSL2) 连接
- python - 创建版本失败。检测到错误模型错误:“...没有名为 'sklearn.impute._base' 的模块;'sklearn.impute' 不是包。(错误代码:0)”
- javascript - 使用 AsyncStorage 推送到数组
- javascript - 具有动态宽度的裁剪 div 的 clientWidth 值不正确(使用 useLayoutEffect 和 SSR)
- ag-grid - 如何在 AG-grid 中创建具有相同名称的不同员工的不同行组?
- laravel - 如何解决 ErrorException:找不到必需的 @OA\PathItem()
- c++ - VkSurfaceKHR 指针的值在没有任何显式赋值的函数调用后发生变化
- haskell - Applying an existentially typed function to a sufficiently polymorphic argument
- user-interface - 等待 Navigator.pop() 完成工作
- c++ - Sublime-text3 将 } 高亮显示为非法字符