Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

R: How to fill up missing year values in a data frame

Tags:

r

I have a quite basic R question. I have the following data frame with a year column that has no 1-year steps.

year <- c(1991,1993,1996)
value <-c(3, NA, 4)

However, for plotting a line chart, I want to fill the missing years so that I have a series from 1990 to 2000 in 1-year steps. The additional years shall be filled with NA values.

Is there a smart solution to this problem?

like image 702
nohomejerome Avatar asked Oct 18 '25 06:10

nohomejerome


1 Answers

We can use complete from tidyr.

dat <- data.frame(
  year = c(1991,1993,1996),
  value = c(3, NA, 4)
)

library(dplyr)
library(tidyr)

dat2 <- dat %>%
  complete(year = 1990:2000)

print(dat2)
# # A tibble: 11 x 2
#     year value
#    <dbl> <dbl>
#  1  1990    NA
#  2  1991     3
#  3  1992    NA
#  4  1993    NA
#  5  1994    NA
#  6  1995    NA
#  7  1996     4
#  8  1997    NA
#  9  1998    NA
# 10  1999    NA
# 11  2000    NA
like image 94
www Avatar answered Oct 19 '25 20:10

www



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!