R 如何添加缺少的年份和0以完成数据

R 如何添加缺少的年份和0以完成数据,r,dataframe,R,Dataframe,我是R的新手。我想按产品代码和国家填写缺失年份和值的数据集,从1998年到2019年,每个数据集的值都为0。我该怎么做?例如,我想为productcode=0,country=700添加2000-2014年、2016-2019年和值0;等等 productcode <- c(0,0,0,1,1,1,2,2,2,0,0,0,1,1,1,2,2,2) country <- c(700,700,700,700,700,700,700,700,700,540,540,540,540,540

我是R的新手。我想按产品代码和国家填写缺失年份和值的数据集,从1998年到2019年,每个数据集的值都为0。我该怎么做?例如,我想为productcode=0,country=700添加2000-2014年、2016-2019年和值0;等等

productcode <- c(0,0,0,1,1,1,2,2,2,0,0,0,1,1,1,2,2,2)

country <- c(700,700,700,700,700,700,700,700,700,540,540,540,540,540,540,540,540,540)

year <- c(1998,1999,2015,1999,2000,2018,1998,2000,2001,1998,1999,
          2015,1999,2000,2018,1998,2000,2001)

export <- c(317,200,190,15,18,19,200,99,90,81,222,250,719,647,1000,29,80,22)

DF <- data.frame(productcode, country, year, export)

productcode根据您编辑的问题,您可能正在查找
tidyr::complete
with
nesting
groupby
on
country
productcode
。此外,您还必须在添加的行中通过
0
填充值(可能您的意思是
export
value)。在
tidyverse

library(dplyr)
library(tidyr)

DF %>% tidyr::complete(year = seq(1998, 2019,1), nesting(productcode, country), fill = list(export = 0))

# A tibble: 132 x 4
    year productcode country export
   <dbl>       <dbl>   <dbl>  <dbl>
 1  1998           0     540     81
 2  1998           0     700    317
 3  1998           1     540      0
 4  1998           1     700      0
 5  1998           2     540     29
 6  1998           2     700    200
 7  1999           0     540    222
 8  1999           0     700    200
 9  1999           1     540    719
10  1999           1     700     15
# ... with 122 more rows

所说的
是指
导出
DF <- DF %>% group_by(country, productcode) %>%
  complete(year = 1998:2019, fill = list(export = 0))

> DF %>% as.data.frame()
    country productcode year export
1       540           0 1998     81
2       540           0 1999    222
3       540           0 2000      0
4       540           0 2001      0
5       540           0 2002      0
6       540           0 2003      0
7       540           0 2004      0
8       540           0 2005      0
9       540           0 2006      0
10      540           0 2007      0
11      540           0 2008      0
12      540           0 2009      0
13      540           0 2010      0
14      540           0 2011      0
15      540           0 2012      0
16      540           0 2013      0
17      540           0 2014      0
18      540           0 2015    250
19      540           0 2016      0
20      540           0 2017      0
21      540           0 2018      0
22      540           0 2019      0
23      540           1 1998      0
24      540           1 1999    719
25      540           1 2000    647
26      540           1 2001      0
27      540           1 2002      0
28      540           1 2003      0
29      540           1 2004      0
30      540           1 2005      0
31      540           1 2006      0
32      540           1 2007      0
33      540           1 2008      0
34      540           1 2009      0
35      540           1 2010      0
36      540           1 2011      0
37      540           1 2012      0
38      540           1 2013      0
39      540           1 2014      0
40      540           1 2015      0
41      540           1 2016      0
42      540           1 2017      0
43      540           1 2018   1000
44      540           1 2019      0
45      540           2 1998     29
46      540           2 1999      0
47      540           2 2000     80
48      540           2 2001     22
49      540           2 2002      0
50      540           2 2003      0
51      540           2 2004      0
52      540           2 2005      0
53      540           2 2006      0
54      540           2 2007      0
55      540           2 2008      0
56      540           2 2009      0
57      540           2 2010      0
58      540           2 2011      0
59      540           2 2012      0
60      540           2 2013      0
61      540           2 2014      0
62      540           2 2015      0
63      540           2 2016      0
64      540           2 2017      0
65      540           2 2018      0
66      540           2 2019      0
67      700           0 1998    317
68      700           0 1999    200
69      700           0 2000      0
70      700           0 2001      0
71      700           0 2002      0
72      700           0 2003      0
73      700           0 2004      0
74      700           0 2005      0
75      700           0 2006      0
76      700           0 2007      0
77      700           0 2008      0
78      700           0 2009      0
79      700           0 2010      0
80      700           0 2011      0
81      700           0 2012      0
82      700           0 2013      0
83      700           0 2014      0
84      700           0 2015    190
85      700           0 2016      0
86      700           0 2017      0
87      700           0 2018      0
88      700           0 2019      0
89      700           1 1998      0
90      700           1 1999     15
91      700           1 2000     18
92      700           1 2001      0
93      700           1 2002      0
94      700           1 2003      0
95      700           1 2004      0
96      700           1 2005      0
97      700           1 2006      0
98      700           1 2007      0
99      700           1 2008      0
100     700           1 2009      0
101     700           1 2010      0
102     700           1 2011      0
103     700           1 2012      0
104     700           1 2013      0
105     700           1 2014      0
106     700           1 2015      0
107     700           1 2016      0
108     700           1 2017      0
109     700           1 2018     19
110     700           1 2019      0
111     700           2 1998    200
112     700           2 1999      0
113     700           2 2000     99
114     700           2 2001     90
115     700           2 2002      0
116     700           2 2003      0
117     700           2 2004      0
118     700           2 2005      0
119     700           2 2006      0
120     700           2 2007      0
121     700           2 2008      0
122     700           2 2009      0
123     700           2 2010      0
124     700           2 2011      0
125     700           2 2012      0
126     700           2 2013      0
127     700           2 2014      0
128     700           2 2015      0
129     700           2 2016      0
130     700           2 2017      0
131     700           2 2018      0
132     700           2 2019      0