按 ID 合并两个不均匀的数据框并填充缺失值

2024-04-27

我是 r 新手。这是我的第一个论坛问题...我正在尝试合并两个数据集,如下所示:

df1 <- data.frame(ID = letters[1:5],
                  x = 5:9,
                  y = c(NA,6,5,NA,NA))

> df1
  ID x  y
1  a 5 NA
2  b 6  6
3  c 7  5
4  d 8 NA
5  e 9 NA


df2 <- data.frame(ID = letters[4:8],
                  y = 7:11,
                  z = c(4,3,NA,2,1))

> df2
  ID  y  z
1  d  7  4
2  e  8  3
3  f  9 NA
4  g 10  2
5  h 11  1

结果应该是这样的:

> df3
  ID  x  y  z
1  a  5 NA NA
2  b  6  6 NA
3  c  7  5 NA
4  d  8  7  4
5  e  9  8  3
6  f NA  9 NA
7  g NA 10  2
8  h NA 11  1

我在各个论坛中查看,但找不到此特定问题的解决方案:/

非常感谢任何建议!


我们可以使用 {powerjoin} :

library(powerjoin)

power_full_join(df1, df2, by = "ID", conflict = coalesce_xy)
#>   ID  x  z  y
#> 1  a  5 NA NA
#> 2  b  6 NA  6
#> 3  c  7 NA  5
#> 4  d  8  4  7
#> 5  e  9  3  8
#> 6  f NA NA  9
#> 7  g NA  2 10
#> 8  h NA  1 11

Created on 2022-04-14 by the reprex package https://reprex.tidyverse.org (v2.0.1)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

按 ID 合并两个不均匀的数据框并填充缺失值 的相关文章

随机推荐

  • 将一个元素移到数组末尾

    我有一个包含 parank 值列表的数组 考虑下面的数组 Array 0 gt stdClass Object pagerank gt 3 1 gt stdClass Object pagerank gt 1 2 gt stdClass O
  • 可以用MongoDB做一个关系型数据库吗?

    我将使用 MongoDB 制作一个学生管理系统 我将为学生准备一张桌子 另一张用于记录出勤记录 我可以使用出勤表中的钥匙来访问学生表吗 如下图所示 如何 MongoDB 背后的想法是消除 或至少最小化 关系数据 您是否考虑过将出勤数据直接嵌
  • 获取矩阵条目的排名?

    假设一个矩阵 gt a lt matrix c 100 90 80 20 2 2 gt a 1 2 1 100 80 2 90 20 假设我想将矩阵的元素转换为等级 gt rank a lt rank a gt rank a 1 4 3 2
  • 比较ios中的两个时间值? [复制]

    这个问题在这里已经有答案了 在我的应用程序中 我想检查当前时间是在变量中保存的时间之前还是之后 就像我的时间1一样time1 08 15 12 我的时间2是time2 18 12 8 所以我想比较 time1 和 time2 目前这些变量是
  • 即使设置了 cookie,RabbitMQ 身份验证也会失败

    我最近在运行 lattePanda 的 Windows 10 上安装了带有 ErlanOTP 的rabbitmq 我运行rabbitmqctl status并收到以下错误 C Program Files RabbitMQ Server ra
  • 如何在 Symfony 4 表单的输入上添加占位符?

    在我的 Symfony 4 表单中 我尝试为我的输入获取占位符 我尝试了以下操作 但收到错误消息 表明这是不允许的 有什么想法我还能如何实现这一目标吗 gt add firstname TextType class label gt Vor
  • 从PHP7.4升级到PHP8,是否可以忽略某些错误

    我们有一个巨大的代码库 在访问未定义的变量或数组键时 我们忽略了 php7 的通知 例如 somethingThatMayNotExist REQUEST somethingThatMayNotExist PHP8 现在会抛出错误 我知道我
  • 哪个开源许可证没有分叉[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我记得读过有关开源许可证的文章 该许可证不授予分叉权限 我不记得它的名字了 我想在这里问可能比浏览整个
  • 仅使用 Hunit 在 Haskell 中创建并运行最小测试套件

    我对 Haskell 比较陌生 所以如果我的术语不太正确 请提前道歉 我想为一个非常简单的项目实现一些简单的单元测试 通过管理cabal 我注意到这个非常相似的问题 https stackoverflow com questions 118
  • 如何在 Rails 3 的功能测试中使用 polymorphic_path

    我正在尝试使用polymorphic path在 Rails 3 的功能测试中 一开始我会得到 NoMethodError undefined method polymorphic path for
  • 在R中使用grepl完成单词匹配

    考虑以下示例 gt testLines lt c I don t want to match this This is what I want to match gt grepl is testLines gt 1 TRUE TRUE 不过
  • 有条件地使用按位运算符

    条件运算符如何使用按位运算符表示 这是一个家庭作业问题 我必须仅使用按位运算来实现条件运算符 那就很简单了 如果if允许使用语句 但它必须是严格的按位运算符 仅运营商 gt gt and lt lt 可以使用 不if可以使用语句或循环 该函
  • 编辑距离(Levenshtein距离)递归自上而下实现的复杂性

    I have been working all day with a problem which I can t seem to get a handle on The task is to show that a recursive im
  • 将时间戳合并到自定义时间段中

    我对熊猫相当陌生 并且遇到了障碍 我有一个包含时间戳的数据帧 我想在我的数据框中添加一列 其中包含自定义期间名称 字符串 例如 df pd DataFrame pd date range 01 01 00 00 periods 72 fre
  • 计算 SQL Server 存储过程中删除的行数

    在 SQL Server 2005 中 有没有一种方法可以删除行并告知有多少行actually删除了 我可以做一个select count 条件相同 但我需要它完全值得信赖 我的第一个猜测是使用 ROWCOUNT变量 但尚未设置 例如 de
  • 如何在Python中使用JWK解码JWT令牌

    我正在开发一个应用程序 其中所有 API 都受 OAuth 保护 我已从客户端收到访问令牌 但无法解码和验证令牌 我有以下格式的 JWK keys kty RSA x5t S256 Some value e Some Value x5t S
  • 以编程方式启用和禁用自动旋转?

    有很多很酷的小部件可以在手机上启用和禁用自动旋转 禁用它会在手机上的所有应用程序中关闭它 他们如何实现这一目标有什么想法吗 这应该可以为你解决问题 import android provider Settings public static
  • 如何在android中实现表面视图的双击

    请告诉我如何实现双击SurfaceView在 Android 中使用手势检测器 有人可以提供代码示例吗 你可以尝试以下 实际上我测试了这个并且效果很好 1 Extend GestureDetector SimpleOnGestureList
  • Dijkstra算法的时间复杂度是多少

    Dijkstra V E S O 1 for each vertex v V O V d v O 1 d source 0 O 1 while S V O V v non visited vertex with the smallest d
  • 按 ID 合并两个不均匀的数据框并填充缺失值

    我是 r 新手 这是我的第一个论坛问题 我正在尝试合并两个数据集 如下所示 df1 lt data frame ID letters 1 5 x 5 9 y c NA 6 5 NA NA gt df1 ID x y 1 a 5 NA 2 b