【发布时间】:2018-04-26 13:20:48
【问题描述】:
我有以下数据集,它源自在不同时间点取自 API 的两个数据集。 df1 只是显示了我添加它们后的状态。我的目标是生成最新版本的 API 数据,而不会忘记旧数据。这意味着我希望创建某种更新机制。我考虑为每个数据集创建一个唯一编号以识别其状态,将新版本附加到旧版本,然后过滤掉重复数据,同时保留新数据。
数据框如下所示:
df(简单地附加两个之后)
"Year" "Month" "dataset"
2017 December 1
2018 January 1
2018 January 2
2018 February 1
2018 February 2
2018 March 2
2018 April 2
df2(更新)
"Year" "Month" "dataset"
2017 December 1
2018 January 2
2018 February 2
2018 March 2
2018 April 2
正如 df2 所示,更新机制更喜欢数据集 2 中的数据。1 月和 2 月的数据都在两个数据集中,但只保留了 2 月的数据。
另一方面,如果数据集之间没有重叠,则保留旧数据和新数据。
是否有一个简单的解决方案可以在 R 中创建所描述的更新机制?
这是df1的代码:
df1 <- data.frame(Year = c(2017,2018,2018,2018,2018,2018,2018),
Month =
c("December","January","January","February","February","March","April"),
Dataset = c(1,1,2,1,2,2,2))
【问题讨论】:
-
你到底想要什么?您想要两个数据集 - 重复数据集和重复数据集吗?
-
dplyr::right_join(df, df2)能解决您的问题吗?