我有两个数据帧,其中缺少的值未输入为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_pphase
中df1
的某些值丢失了。因此,我想做的是添加totasses_pphase
中缺少的df1
的1和2,然后根据ID和df2
加入totasses_pphase
的得分列
我尝试使用完整功能:
df3 <- complete(df1, nesting(id), totasses_pphase = 1:2)
但是它不能按我的意愿工作。