【发布时间】:2020-07-01 07:01:10
【问题描述】:
我有两个数据框:一个包含使用倾向得分匹配匹配的参与者对的 ID(即,每一行都有两个匹配的 ID;df1),另一个包含 长格式的纵向数据 适用于所有参与者 (df2)。
在每对配对中,一个人来自实验组,另一个人来自对照组。组由变量Group 表示。在 df2 中,来自实验组的参与者在变量 Year 和 Month 上有值,而来自对照组的参与者在这些变量上只有 NA。我现在的目标是将实验组参与者的Year 和Month 上的值复制到对照组的匹配伙伴(基于来自df1 的匹配ID 信息)。
df1 <- read.table(text=
"ID_EG ID_CG
800057 834341
800119 897177
800125 834011", header = TRUE)
df2 <- read.table(text=
"ID Group Year Month
800057 1 2008 2
800057 1 2008 2
800057 1 2008 2
800057 1 2008 2
800057 1 2008 2
800119 1 2014 10
800119 1 2014 10
800119 1 2014 10
834011 0 NA NA
834011 0 NA NA
834341 0 NA NA
834341 0 NA NA
834341 0 NA NA
834341 0 NA NA
834341 0 NA NA
800125 1 2010 5
800125 1 2010 5
897177 0 NA NA
897177 0 NA NA
897177 0 NA NA", header=TRUE)
谁能帮助我如何为每对配对完成这项工作?我尝试循环,但由于我对 R 很陌生,所以我被淹没了。
我的预期结果是这样的 (df3):
df3 <- read.table(text=
"ID Group Year Month
800057 1 2008 2
800057 1 2008 2
800057 1 2008 2
800057 1 2008 2
800057 1 2008 2
800119 1 2014 10
800119 1 2014 10
800119 1 2014 10
834011 0 2010 5
834011 0 2010 5
834341 0 2008 2
834341 0 2008 2
834341 0 2008 2
834341 0 2008 2
834341 0 2008 2
800125 1 2010 5
800125 1 2010 5
897177 0 2014 10
897177 0 2014 10
897177 0 2014 10", header=TRUE)
非常感谢任何帮助!
【问题讨论】: