Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- data2 = data.frame('population by age' = seq(3, 24, by = 1),
- '2008' = c(145391,
- 140621,
- 136150,
- 131944,
- 127968,
- 124209,
- 120650,
- 117163,
- 113674,
- 110207,
- 106871,
- 103659,
- 100398,
- 97017,
- 93584,
- 90240,
- 86957,
- 83783,
- 80756,
- 77850,
- 75003,
- 72226
- ),
- '2009' = c(148566,
- 143943,
- 139367,
- 135083,
- 131052,
- NA,
- 123628,
- 120213,
- 116826,
- 113381,
- 109915,
- 106574,
- 103346,
- 100058,
- 96644,
- 93175,
- NA,
- 86455,
- NA,
- 80192,
- 77279,
- 74422
- ),
- '2010' = c(152330,
- 147261,
- 142555,
- 138172,
- 134071,
- 130214,
- 126559,
- 123099,
- 119825,
- 116538,
- 113134,
- 109669,
- 106320,
- 103075,
- 99760,
- 96312,
- 92805,
- NA,
- NA,
- 82733,
- 79661,
- 76739
- ),
- '2011' = c(156630,
- 151387,
- 146491,
- 141905,
- 137593,
- 133545,
- 129737,
- 126124,
- 122678,
- NA,
- 116093,
- 112666,
- 109174,
- 105791,
- 102505,
- 99159,
- 95699,
- 92193,
- 88759,
- 85373,
- 82123,
- 79065
- ))
- data7 <- data2 %>%
- gather(key = year, value = value, -`population.by.age` )%>%
- group_by(`population.by.age`) %>%
- nest
- library(imputeTS)
- impute_nas <- function(df, var, fun, ...) {
- df[[var]] <- fun(df[[var]], ...)
- return(df)
- }
- imputed <- data7 %>%
- mutate(
- interpolation = purrr::map(data, impute_nas, var = 'value', fun = imputeTS::na.locf)
- ) %>%
- select(-data) %>%
- unnest
- imputed <- imputed %>% spread(key = 'year', value = 'value')
- as.data.frame(imputed)
- impute_from_previous <- function(ds) {
- for (i in 2:length(colnames(ds))) {
- rows_missing <- which(is.na(ds[[i]]))
- ds[rows_missing, i] <- ds[rows_missing, i - 1]
- }
- return(ds)
- }
- data3 <- impute_from_previous(data2)
Add Comment
Please, Sign In to add comment