如何使用rep复制R中的值?
在R中,我有一个按年份订购的df,我只有一年的数据,如下所示如何使用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
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