如何将不同的dfs与公共变量绑定,但在公共变量中绑定不同的值,从而保留不同公共变量的所有值

时间:2019-02-21 13:09:54

标签: r dplyr tidyr

我有两个数据帧,其中缺少的值未输入为NA,但根本不存在。看起来像这样。

df1

      id phase assess_pday totasses_pphase
   <dbl> <dbl>       <dbl>           <dbl>
 1     1     1           1               1
 2     1     1           3               3
 3     1     1           2               5
 4     1     1           3               6
 5     1     1           1               7
 6     1     2           3               3
 7     1     2           1               7
 8     1     2           2               8
 9     1     2           3               9
10     2     1           1               1
11     2     1           3               3
12     2     1           2               5
13     2     1           3               9
14     2     2           3               3
15     2     2           2               5
16     2     2           3               6
17     2     2           1               7
18     2     2           2               8
19     2     2           3               9
20     3     1           1               1
21     3     1           2               2
22     3     1           1               4
23     3     1           3               6
24     3     1           2               8
25     3     1           3               9
26     3     2           3               3
27     3     2           2               5
28     3     2           3               9
29     4     1           1               1
30     4     1           2               2
31     4     1           3               6
32     4     1           1               7
33     4     1           2               8
34     4     1           3               9
35     4     2           1               1
36     4     2           3               3
37     4     2           1               7
38     4     2           2               8
39     4     2           3               9

df2

      id phase assess_pday totasses_pphase score
   <dbl> <dbl>       <dbl>           <dbl> <dbl>
 1     1     1           1               1     3
 2     1     1           1               2     2
 3     1     2           1               1     1
 4     1     2           1               2     0
 5     2     1           1               1     0
 6     2     1           1               2     1
 7     2     2           1               1     0
 8     2     2           1               2     0
 9     3     1           1               1     4
10     3     1           1               2     3
11     3     2           1               1     3
12     3     2           1               2     3
13     4     1           1               1     2
14     4     1           1               2     2
15     4     2           1               1     1
16     4     2           1               2     1

提供一些背景信息:这是一个密集的纵向研究,分为两个阶段,每个阶段每天对每个参与者进行几次评估。在每个阶段之前,都要进行横断面评估,以了解变量的级别。 df1属于纵向部分,df2属于横截面部分。变量是: id表示ID。 phase表示阶段1或阶段2。 assess_pday表示当天的评估编号(最多3个)。 totasses_pphase表示该段时间内的评估次数(最多12次)。 得分是指变量的得分

问题是我无法使用ID和totasses_pphase作为键来加入分数列,因为totasses_pphasedf1的某些值丢失了。因此,我想做的是添加totasses_pphase中缺少的df1的1和2,然后根据ID和df2加入totasses_pphase的得分列

我尝试使用完整功能:

df3 <- complete(df1, nesting(id), totasses_pphase = 1:2)

但是它不能按我的意愿工作。

0 个答案:

没有答案