dplyr :: full_join用多个“组”下降未使用的值。在y

发布于 2025-01-21 17:38:37 字数 880 浏览 2 评论 0原文

我试图保留X中的所有列,甚至它们在y中都缺少。

当我加入Y只有一个“组”时,这会起作用,并按预期添加NA条目。

但是,当我将另一个“组”添加到y值时,会默默删除。

我想念什么?

谢谢!

library(magrittr)

base <- data.frame(
  "key" = c(1,2,3,4),
  "v_a" = c("asdf","fdsa","qwert","trewq")
)

join1 <- data.frame(
"key" = c(1,2,3),
"group" = c("g_a","g_a","g_a"),
"value" = c(111,222,333)
)

join2 <- data.frame(
  "key" = c(1,2,3,4),
  "group" = c("g_b","g_b","g_b","g_b"),
  "value" = c(444,555,666,777)
)

joincombined <- dplyr::bind_rows(join1, join2)


# joining a single group retains all keys in base
# NAs are correctly assigned for missing values in "group" and "value"

res_singleJoin <- base %>% 
  dplyr::full_join(join1, by = "key")

# joining the combined df drops missing entries "group" and "value"
res_combinedJoin <- base %>% 
  dplyr::full_join(joincombined, by = "key")

I'm trying to retain all columns in x, even tho they are missing in y.

This works when I join with y having only a single "group", adding NA entries as expected.

However when I add another "group" to y values are silently dropped.

What am I missing?

Thanks!

library(magrittr)

base <- data.frame(
  "key" = c(1,2,3,4),
  "v_a" = c("asdf","fdsa","qwert","trewq")
)

join1 <- data.frame(
"key" = c(1,2,3),
"group" = c("g_a","g_a","g_a"),
"value" = c(111,222,333)
)

join2 <- data.frame(
  "key" = c(1,2,3,4),
  "group" = c("g_b","g_b","g_b","g_b"),
  "value" = c(444,555,666,777)
)

joincombined <- dplyr::bind_rows(join1, join2)


# joining a single group retains all keys in base
# NAs are correctly assigned for missing values in "group" and "value"

res_singleJoin <- base %>% 
  dplyr::full_join(join1, by = "key")

# joining the combined df drops missing entries "group" and "value"
res_combinedJoin <- base %>% 
  dplyr::full_join(joincombined, by = "key")

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文