dplyr 的 2 个 dfs 的 left_join 导致具有所有 NA 的 num 列
Posted
技术标签:
【中文标题】dplyr 的 2 个 dfs 的 left_join 导致具有所有 NA 的 num 列【英文标题】:dplyr's left_join of 2 dfs leads to num column with all NAs 【发布时间】:2022-01-08 22:49:54 【问题描述】:我正在使用 RStudio 1.4.1717。
我想合并 2 个 dfs (WZ & PR);两者都是从 .csv 文件导入的。 他们的数据如下:
str(WZ) 'data.frame':1547 obs。 3 个变量:
ID : 整数 879 1235 1480 1936 2271 2717 2780 2900 3016 3675 ...
清算:日期,格式:“2021-01-07”“2021-08-23”...
PTBeginn:日期,格式:“2021-05-19” NA ...
str(PR2) 'data.frame':862 obs。 2 个变量:
ID : 整数 657500 667148 668036 676333 692171 692186 692586 693638 693641 693646 ...
分数:num 37912 15701 76 1143904 24056 ...
当我想使用以下代码执行左连接时
WZ_PR <-PR2 %>% left_join(WZ, by = 'ID')
“分数”向量仅显示 NA
str(WZ_PR) 'data.frame':1547 obs。 4个变量: ID : 整数 879 1235 1480 1936 2271 2717 2780 2900 3016 3675 ...
清算:日期,格式:“2021-01-07”“2021-08-23”...
PTBeginn:日期,格式:“2021-05-19” NA ...
分数:num NA NA NA NA NA NA NA NA NA NA ...
有人知道我做错了什么吗?
最好的祝愿, 马库斯
【问题讨论】:
这是因为您在WZ中的ID与PR中的ID不匹配。如果按“ID”合并,则两个数据集之间的“ID”值应该相等。 方便那些想要通过reproducible example 提供帮助的人。作为 R 用户,reprex package 非常适合执行此操作。 很抱歉浪费了您的时间。确实,ID 不匹配。这本身很奇怪,但我必须自己调查一个问题。非常感谢您的帮助!! 【参考方案1】:您确定您在 WZ 和 PR2 中的 ID 相同吗?输出表明你没有,因为这个分数是 NA
【讨论】:
您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。 很抱歉浪费了您的时间。确实,ID 不匹配。这本身很奇怪,但我必须自己调查一个问题。非常感谢您的帮助!!以上是关于dplyr 的 2 个 dfs 的 left_join 导致具有所有 NA 的 num 列的主要内容,如果未能解决你的问题,请参考以下文章