gpt4 book ai didi

r - 加入 3 个数据帧,其中可以存在重复的条目

转载 作者:行者123 更新时间:2023-12-03 18:36:18 24 4
gpt4 key购买 nike

我有一个像这样的数据框...

df = tibble(id = c(64512, 64513, 64514, 64515), 
customer=c("a", "a", "b", "b"))
并希望通过 id 加入另外两个数据框像这些...
uvp_new = tibble(id=c(64512, 64513, 64514), uvp=c(12, 14, 16))

uvp_old = tibble(id=c(64512, 64515), uvp=c(10, 18))
具有以下逻辑:每当有 uvp 的条目时在 uvp_new ,如果没有 uvp_old 的条目,我想选择这个(忽略 uvp)在 uvp_new , 我要为 uvp 取条目来自 uvp_old .
任何帮助表示赞赏

最佳答案

您可以 left_join() uvp_old然后使用 rows_update()uvp_new :

library(dplyr)

df %>%
left_join(uvp_old, by = "id") %>%
rows_update(uvp_new, by = "id")

# A tibble: 4 x 3
id customer uvp
<dbl> <chr> <dbl>
1 64512 a 12
2 64513 a 14
3 64514 b 16
4 64515 b 18
或者,如果 df 中有重复的 ID 可能会更安全。使用 rows_upsert()首先将结果加入 df :
uvp_old %>%
rows_upsert(uvp_new, by = "id") %>%
right_join(df, by = "id")

关于r - 加入 3 个数据帧,其中可以存在重复的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63950982/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com