首页 > 解决方案 > 修复连接具有相同变量的两个数据集

问题描述

我想加入两个数据集。数据集具有相同的列/变量。数据集 1 (n11)

    caseid         v000  v005 age v021 v022 v023 v024 resi region v102 education pregnant v445 v501 v717 wealth   stra                                occupation
1      101  15  2  NP6 342191   5  101   10    1    1    2      1    2         1        0 2190    1    4      4 NPIR61FL$ssubreg=1, NPIR61FL$v025=2          2
2      101  19  2  NP6 342191   7  101   10    1    1    2      1    2         0        0 2300    1    4      3 NPIR61FL$ssubreg=1, NPIR61FL$v025=2          2
3      101  19  4  NP6 342191   2  101   10    1    1    2      1    2         1        0 2139    1    4      3 NPIR61FL$ssubreg=1, NPIR61FL$v025=2          2
4      101  21  4  NP6 342191   5  101   10    1    1    2      1    2         0        0 1855    1    4      2 NPIR61FL$ssubreg=1, NPIR61FL$v025=2          2
5      101  45  3  NP6 342191   5  101   10    1    1    2      1    2         0        0 2133    3    4      3 NPIR61FL$ssubreg=1, NPIR61FL$v025=2          2
6      101  47  2  NP6 342191   1  101   10    1    1    2      1    2         2        0 2022    1    4      4 NPIR61FL$ssubreg=1, NPIR61FL$v025=2          2

数据集 2 (n16)

       caseid      v000 v005  age v021 v022 v023 v024 resi region v102 education pregnant v445 v501 v717 wealth           stra                       occupation
1      101   2  2  NP5 295061   6  101    1    1    1    2      1    2         0        0 2534    1    4      2 NPIR51FL$v024=1, NPIR51FL$v025=2          2
2      101   2  3  NP5 295061   1  101    1    1    1    2      1    2         2        0 2061    0    4      2 NPIR51FL$v024=1, NPIR51FL$v025=2          2
3      101   3  3  NP5 295061   1  101    1    1    1    2      1    2         2        0 2157    1    4      1 NPIR51FL$v024=1, NPIR51FL$v025=2          2
4      101   4  1  NP5 295061   4  101    1    1    1    2      1    2         0        0 2370    1    4      1 NPIR51FL$v024=1, NPIR51FL$v025=2          2
5      101   6  6  NP5 295061   2  101    1    1    1    2      1    2         3        0 2254    0    4      2 NPIR51FL$v024=1, NPIR51FL$v025=2          2
6      101   7  2  NP5 295061   2  101    1    1    1    2      1    2         2        0 2364    0    4      1 NPIR51FL$v024=1, NPIR51FL$v025=2          2

我使用了 rbind 函数。代码是d2 <-rbind(n11, n16)

我发现了以下错误。我怎样才能解决这个问题?

Error: Can't convert from <labelled<double>> to <labelled<double>> due to loss of precision.
* Locations: 5723, 5724, 5725, 5726, 5727, 5728, 5729, 5730, 5731, 5732, 5733, 5734, 5735, 5736, 5...
Values are labelled in `` but not in ``.
Run `rlang::last_error()` to see where the error occurred.

标签: joinerror-handling

解决方案


我现在找到了解决方案。我们可以使用包的full_join功能dplyr来解决这个问题。

d2<- full_join(n11, n16)

推荐阅读