我有数据集:
年月数字
2002-01 2.392909
2002-02 2.496800
2002-03 2.341897
2002-04 1.665625
2002-05 2.398261
2003-01 1.765912
2003-03 3.270870
2003-12 2.907812
我需要结束:
2002-01 2.392909
2002-02 2.496800
2002-03 2.341897
2002-04 1.665625
2002-05 2.398261
2002-06 NA
2002-07 NA
2002-08 NA
2002-09 NA
2002-10 NA
2002-11 NA
2002-12 NA
2003-01 1.765912
2003-02 NA
2003-03 3.270870
2002-04 NA
2003-05 NA
2003-06 NA
2003-07 NA
2003-08 NA
2003-09 NA
2003-10 NA
2003-11 NA
2003-12 2.907812
所有缺失的月份都将用 NA 填充,直到 12 月
任何想法非常感谢!
这是一种方法。它会设置一个包含所有年月的列,然后将您的数据合并到其中,因此在没有数据的地方会留下空白。
merge(data.frame(V1=paste(rep(2002:2003,each=12), #the years
sprintf("%02d",1:12), #the months, padded with zeros
sep="-")),
df, #your dataframe (assumes the first column is "V1")
all.x=TRUE)
V1 V2
1 2002-01 2.392909
2 2002-02 2.496800
3 2002-03 2.341897
4 2002-04 1.665625
5 2002-05 2.398261
6 2002-06 NA
7 2002-07 NA
8 2002-08 NA
9 2002-09 NA
10 2002-10 NA
11 2002-11 NA
12 2002-12 NA
13 2003-01 1.765912
14 2003-02 NA
15 2003-03 3.270870
16 2003-04 NA
17 2003-05 NA
18 2003-06 NA
19 2003-07 NA
20 2003-08 NA
21 2003-09 NA
22 2003-10 NA
23 2003-11 NA
24 2003-12 2.907812
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)