Учитывая следующий фрейм данных, мне нужно иметь возможность заполнять значения в каждой строке справа, пока не встретится следующее значение, в этом случае мне нужно заполнить это значение и т. Д., Пока я не достигну конца строки,
# load data
id <- LETTERS[1:7]
X2000 <- c(NA,NA,NA,NA,100,NA,NA)
X2001 <- c(NA,200,80,NA,205,50,NA)
X2002 <- c(NA,300,NA,300,NA,NA,NA)
X2003 <- c(400,NA,70,NA,NA,NA,600)
X2004 <- c(NA,500,NA,NA,NA,NA,NA)
dat <- data.frame(id,X2000,X2001,X2002,X2003,X2004)
id X2000 X2001 X2002 X2003 X2004
A NA NA NA 400 NA
B NA 200 300 NA 500
C NA 80 NA 70 NA
D NA NA 300 NA NA
E 100 205 NA NA NA
F NA 50 NA NA NA
G NA NA NA 600 NA
Полученный кадр данных должен выглядеть следующим образом:
id X2000 X2001 X2002 X2003 X2004
A NA NA NA 400 400
B NA 200 300 300 500
C NA 80 80 70 70
D NA NA 300 300 300
E 100 205 205 205 205
F NA 50 50 50 50
G NA NA NA 600 600
Есть ли какой-нибудь умный способ сделать это?Спасибо.