dplyr :: full_join用多个“组”下降未使用的值。在y
我试图保留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 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论