Ответ на этот предыдущий вопрос: экстраполировать в R для данных временного ряда у меня не работает из-за R версий.
У меня есть фрейм данных NEI_othertier1_long
, который выглядит примерно так:
state pollutant Sector Fuel description year value
AK Ammonia Refining Diesel industrial 2008 1.18
AK Ammonia Refining Diesel industrial 2009 NA
AK Ammonia Refining Diesel industrial 2010 NA
AK Ammonia Refining Diesel industrial 2011 5.76
AK Ammonia Refining Diesel industrial 2012 NA
AK Ammonia Refining Diesel industrial 2013 NA
AK Ammonia Refining Diesel industrial 2014 5.83
AK Ammonia Refining Diesel industrial 2015 NA
AK Ammonia Refining Diesel industrial 2016 NA
AK Ammonia Refining Diesel industrial 2017 8.96
AK Ammonia Refining Diesel industrial 2018 NA
AK Ammonia Refining Diesel industrial 2019 NA
У меня есть значения для 2008, 2011, 2014 и 2017 годов. Я смог успешно линейно интерполировать 2009-2016 годы, используя этот код:
NEI_othertier1_long %>%
dplyr::mutate( value = na.approx(value, na.rm = FALSE, rule = 2) ) -> NEI_othertier1_interpolated
Но интерполяция переносит значение 2017 года на 2018 и 2019 годы. Я хочу линейно экстраполировать значения 2018 и 2019 годов по сравнению с предыдущими годами.
У меня R версии 3.5.2 (и я не могу обновить), поэтому не могу установить latticeExtra
, от которого Hmisc
зависит использование функции approxExtrap
.
Любая помощь приветствуется!
dput (head (NEI_othertier1_long)) структура (list (state = c (AK, AK, AK, AK, AK, AK, AK, AK, AK, AK, AK, AK), загрязнитель = c (Аммиак, Аммиак, Аммиак, Аммиак, Аммиак, Аммиак, Аммиак, Аммиак, Аммиак, Аммиак, Аммиак, Аммиак), CEDS_Sector = c (1A1b_Pet-refining, 1A1b_Pet-refining, 1A1b_Pet-refining, 1A1b_Pet-refining, 1A1b_Pet-refining, 1A1b_Pet-refining, refining 1A1b_Pet-refining, , 1A1b_Pet-refining, 1A1b_Pet-refining, 1A1b_Pet-refining, 1A1b_Pet-refining, 1A1b_Pet-refining), CEDS_Fuel = c (дизельное масло, дизельное масло, дизельное масло, дизельное масло, дизельное масло, дизельное масло, дизельное масло, дизельное масло, дизельное масло), дизельное масло , tier1_description = c (FUEL COMB. INDUSTRIAL, FUEL COMB. INDUSTRIAL, FUEL COMB. INDUSTRIAL, FUEL COMB. INDUSTRIAL, FUEL COMB. INDUSTRIAL, FUEL COMB. INDUSTRIAL, FUEL COMB. INDUSTRIAL, FUEL COMB. INDUSTRIAL. FUEL COMB. INDUSTRIAL, FUEL COMB. INDUSTRIAL, FUEL COMB. INDUSTRIAL), единица = c (TON, TON, TON, TON, TON, TON, TON, TON, TON, TON, TON, TON ), год = 2008: 2019, выбросы = c (1.18, NA, NA, 5.76, NA, NA, 5.83, NA, NA, 8.96, NA, NA)), row.names = c (NA, -12L), class = c (grouped_df, tbl_df, tbl, data.frame), groups = structure (list (state = AK, pollutant = Ammonia, CEDS_Sector = 1A1b_Pet-refining, CEDS_Fuel = diesel_oil, tier1_description = FUEL COMB. ПРОМЫШЛЕННЫЙ, unit = TON, .rows = list (1:12)), row.names = c (NA, -1L), class = c (tbl_df, tbl, data.frame), .drop = TRUE))