【发布时间】:2020-10-28 01:41:03
【问题描述】:
我有以下 data.frame (data.frame_1),每个 clinic_code 从 2019 年 10 月 1 日到 2020 年 10 月 1 日,并且是具有许多变量的主要 data.frame(下面只有几个显示):
date clinic_code partner_code
2019-10-01 A05 NA
2019-11-01 A05 NA
.....
2020-10-01 A05 NA
2019-10-01 A12 NA
2019-11-01 A12 NA
2019-12-01 A12 NA
2020-01-01 A12 00044
2019-10-01 B17 NA
2019-11-01 B17 NA
.....
2020-03-01 B17 00045
2020-04-01 B17 00045
2020-05-01 B17 00049
.....
2020-10-01 B17 00049
然后是从 2019-10-01 到 2020-02-31 的旧版本 (data.frame_2):
clinic_code partner_code partnership_start_date partnership_end_date
A05 00033 2019-10-01 NA
A12 00001 2019-10-01 NA
A12 00001 2019-10-01 2019-12-31
A12 00044 2020-01-01 NA
B17 00002 2019-10-01 NA
我想用data.frame_2来填充data.frame_1中partner_code的空格。 (+ 来自主 data.frame_1 的所有其他变量):
date clinic_code partner_code
2019-10-01 A05 00033
2019-11-01 A05 00033
.....
2020-09-01 A05 00033
2020-10-01 A05 00033
2019-10-01 A12 00001
2019-11-01 A12 00001
2019-12-01 A12 00001
2020-01-01 A12 00044
.......
2020-10-01 A12 00044
2019-10-01 B17 00002
2019-11-01 B17 00002
2019-12-01 B17 00002
2020-01-01 B17 00002
2020-02-01 B17 00002
.......
2020-03-01 B17 00045
2020-04-01 B17 00045
2020-05-01 B17 00049
.......
2020-10-01 B17 00049
我的标准是:在 partner_code 上填写 data.frame_1 上来自 data.frame 2 的 partner_code 上的任何额外信息。我的 3 种可能的情况:
- A05 - data.frame_1 没有关于 A05 的
partner_code的任何信息,我使用从partnership_start_date(2019-10-01) 到partnership_end_date的 data.frame_2 中的信息(如果不适用,则意味着没有结束) - A12 - data.frame_1 在特定日期 (2020-01-01) 有一些关于
partner_code的信息,但之前没有信息,所以我使用来自partnership_start_date(2019-10-01) 的 data.frame_2 的信息) 直到partnership_end_date(2019-12-31)。 - B17 - data.frame_1 从特定日期 (2020-03-01) 有一些关于
partner_code的信息,但之前没有信息,所以我使用来自partnership_start_date(2019-10-01) 的 data.frame_2 的信息) 直到partnership_end_date(NA=没有结束;在这种情况下,因为 data.frame_1 中有一个来自 2020-03-01 的partner_code,我不想覆盖它并留下 data.frame_1 中的任何内容。
【问题讨论】:
-
您的填写标准是什么?我无法从你的例子中推断出它们。例如,为什么在您的预期输出中有这么多行的临床代码 A05,但 data.frame_1 或 data.frame_2 只显示一行?
-
非常感谢 ekoam,如果不清楚,很抱歉 - 我刚刚用标准更新了我的问题。关于您的具体问题:我的 data.frame_1 中的每个 Clinic_code 从 2019-10-01 到 2020-10-01 - 请查看更新后的 data.frame_1
-
嗨,我有一些想法,但需要进一步澄清。 data.frame_2 中的第 2 行和第 3 行显示了 Clinic_code 和 partner_code 的相同值。为什么data.frame_1中的A12填写第3行而不选择第2行?
-
抱歉没有解释。这是因为 data.frame_2 加入了 2 个 data.frames(一个来自 2 月,一个来自 3 月),有时我们会看到这种情况,其中 2 月(第 2 行)伙伴关系仍在进行中(NA),但随后在 3 月(第 3 行)它结束了。当相同的诊所代码、合作伙伴代码和合作伙伴开始日期以及为合作伙伴结束日期设置的日期有另一行时,也许我需要删除那些带有 NA 的行(如第 2 行)。不确定您是否可以考虑其他方法来解决此问题。