From 5d8864ae95fd42bb1d424b2571a7a844ff9d7ff1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Grelot?= <frederic.grelot@irstea.fr>
Date: Sun, 23 Jan 2022 21:08:14 +0100
Subject: [PATCH] =?UTF-8?q?Correction=20data=20so=5Fii=5Fonrn=20=09-=20cal?=
 =?UTF-8?q?cul=20de=20balance=20en=20tenant=20compte=20de=20la=20populatio?=
 =?UTF-8?q?n=20sur=20la=20p=C3=A9riode?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Refs #9
---
 script/onrn.R | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/script/onrn.R b/script/onrn.R
index bb96343..b8c9688 100644
--- a/script/onrn.R
+++ b/script/onrn.R
@@ -266,10 +266,20 @@ result = merge(result, temp, by = "commune", all.x = TRUE)
 
 ### Bilan Sinistre - Prime : estimation
 
+# result = read.csv2(geau::current_version("data-common/so-ii/onrn"))
+
+#### Some data to compute premium per habitant
 pop_france = 66992159 # INSEE (2018)
 premium_france = 1670000000 # (CCR2019a pour 2018)
 premium_hab = premium_france / pop_france
-result[["balance"]] = (1 - result[["ratio"]]) * geau::so_ii_population[ , "2018"] * premium_hab
+
+#### Need to compute cumulative population
+period = seq(1995, 2018)
+available = as.integer(dimnames(geau::so_ii_population)[[2]])
+selection = as.character(available[sapply(period, function(x){which.min(abs(available - x))})])
+pop_commune = rowSums(geau::so_ii_population[, selection])
+
+result[["balance"]] = (1 - result[["ratio"]]) * pop_commune * premium_hab
 
 result = result[c(
     "commune", "n_catnat", "freq_sin", "cost", "cost_mean", "cost_hab", "ratio", "balance",
@@ -279,6 +289,7 @@ result = result[c(
 )]
 
 write.csv2(result, sprintf("data-common/so-ii/onrn/onrn-%s.csv", today), row.names = FALSE)
+# write.csv2(result, geau::current_version("data-common/so-ii/onrn"), row.names = FALSE)
 
 unlink(onrn_raw, recursive = TRUE, force = TRUE)
 
-- 
GitLab