如何使用rep复制R中的值?

如何使用rep复制R中的值?,r,R,在R中,我有一个按年份订购的df,我只有一年的数据,如下所示 year data num code 2011.1 b 31 DA 2011.2 a 35 2Q 2011.3 b 25 B3 2011.4 b 20 2F 2011.5 d 51 3H 2011.6 w 32 L2 2011.7 a 45 3B 2011.8 w 32 K1

在R中,我有一个按年份订购的df,我只有一年的数据,如下所示

year     data  num   code 
2011.1    b     31   DA
2011.2    a     35   2Q
2011.3    b     25   B3
2011.4    b     20   2F
2011.5    d     51   3H
2011.6    w     32   L2
2011.7    a     45   3B
2011.8    w     32   K1
2011.9    q     31   C3
2011.10   e     61   L9
2011.11   z     31   2K
2011.12   a     13   4K
2012.1    NA    NA   NA
2012.2    NA    NA   NA
...

2017.11
2017.12
我想在2011年用相同的值填充其他行的其余部分,在这种情况下,我需要编写什么代码


我已经尝试了
rep()
函数,但我想它只有1:12之类的参数,例如,rep(1:12,times=7),这是我不想要的。

使用月份安排,然后用
tidyr::fill

library(dplyr)
df %>% 
   arrange(substr(year,6,7)) %>% 
   tidyr::fill(-year,.direction='down') %>% 
   arrange(year)

    year data num code
1 2011.1    b  31   DA
2 2011.2    a  35   2Q
3 2011.3    b  25   B3
4 2011.4    b  20   2F
5 2011.5    d  51   3H
6 2012.1    b  31   DA
7 2012.2    a  35   2Q
8 2017.1    b  31   DA
9 2017.2    a  35   2Q
# Rows to be copied
M0 = df[1:12,]
# Start out empty
M = {}
# for loops are allowed :-)
for (i in 2011:2017) M = rbind(M, M0)
# Fix year column
M$year = df$year
# M holds the answer