Skip to content

Commit

Permalink
v0.2.3
Browse files Browse the repository at this point in the history
  • Loading branch information
AQLT committed Feb 5, 2019
1 parent babf30c commit ea865ed
Show file tree
Hide file tree
Showing 42 changed files with 6,187 additions and 17 deletions.
6 changes: 5 additions & 1 deletion .Rbuildignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
^docs$
^_pkgdown\.yml$
^.*\.Rproj$
^\.Rproj\.user$
^README\.Rmd$
^README-.*\.png$
^NEWS\.md$
.travis.yml
^pkgdown$
^doc$
7 changes: 2 additions & 5 deletions DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
Package: JDCruncheR
Title: Interface entre le cruncher JDemetra+ et R
Version: 0.2.3
Date: 20/02/2018
Authors@R: c(person("Hien", "Pham", email = "trong-hien.pham@insee.fr", role = c("aut")),
person("Alain", "Quartier-la-Tente", email = "alain.quartier-la-tente@insee.fr", role = c("aut", "cre")))
Authors: Hien Pham [aut],
Alain Quartier-la-Tente [aut, cre]
Date: 05/02/2019
Authors@R: c(person("Alain", "Quartier-la-Tente", email = "alain.quartier-la-tente@insee.fr", role = c("aut", "cre")))
Description: Permet de lancer rapidement le cruncher de JDemetra+ depuis R et de construire d'autres outils liés à la désaisonnalisation. La dernière version du cruncher peut être téléchargée sous https://github.com/jdemetra/jwsacruncher/releases.
URL: https://github.com/AQLT/JDCruncheR
BugReports: https://github.com/AQLT/JDCruncheR/issues
Expand Down
3 changes: 3 additions & 0 deletions JDcruncheR.Rproj
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,7 @@ StripTrailingWhitespace: Yes
BuildType: Package
PackageUseDevtools: Yes
PackageInstallArgs: --no-multiarch --with-keep.source
PackageBuildArgs: --no-build-vignettes
PackageBuildBinaryArgs: --no-build-vignettes
PackageCheckArgs: --no-build-vignettes
PackageRoxygenize: rd,collate,namespace
4 changes: 3 additions & 1 deletion NEWS
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
JDCruncher 0.2.3
================
* la fonction `weighted_score()` crée maintenant une nouvelle variable `score_pond` plutôt que de remplacer l'ancienne.
* Mise à jour des indicateurs utilisés dans le bilan qualité
* la fonction `weighted_score()` crée maintenant une nouvelle variable `score_pond` plutôt que de remplacer l'ancienne. La fonction `extract_score()` permet d'extraire les deux scores.
* changement des paramètres d'export par défaut du cruncher et des indicateurs utilisés pour le calcul du score dans la fonction `compute_score()`.
* ajout d'un paramètre `conditional_indicator` à la fonction `compute_score()` permettant de réduire à 1 le poids de certains indicateurs en fonction des valeurs d'autres variables.

JDCruncher 0.2.2
================
Expand Down
3 changes: 2 additions & 1 deletion NEWS.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
# JDCruncher 0.2.3

* la fonction `weighted_score()` crée maintenant une nouvelle variable `score_pond` plutôt que de remplacer l'ancienne.
* la fonction `weighted_score()` crée maintenant une nouvelle variable `score_pond` plutôt que de remplacer l'ancienne. La fonction `extract_score()` permet d'extraire les deux scores.
* changement des paramètres d'export par défaut du cruncher et des indicateurs utilisés pour le calcul du score dans la fonction `compute_score()`.
* ajout d'un paramètre `conditional_indicator` à la fonction `compute_score()` permettant de réduire à 1 le poids de certains indicateurs en fonction des valeurs d'autres variables.

# JDCruncher 0.2.2

Expand Down
55 changes: 53 additions & 2 deletions R/QR_functions.R
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@
#' @param n_contrib_score entier indiquant le nombre de variables à créer dans la matrice des valeurs du
#' bilan qualité contenant les \code{n_contrib_score} plus grandes contributrices au score (voir détails).
#' si non spécifié alors aucune variable n'est créée.
#' @param conditional_indicator une \code{list} contenant des listes ayant 3 éléments : "indicator", "conditions" et
#' "condition_modalities". Permet de réduire à 1 le poids de certains indicateurs en fonction des valeurs
#' d'autres variables (voir détails).
#'
#' @param ... autres paramètres non utilisés.
#' @details La fonction \code{compute_score} permet de calculer un score à partir des modalités
#' d'un bilan qualité. Pour cela chaque modalité est associée à un poids défini par le paramètre
Expand Down Expand Up @@ -45,6 +49,19 @@
#' associées à cette série seront vides ; si une série a un score positif uniquement du fait
#' de la variable "m7" alors la valeur correspondante de le variable 1_highest_score sera égale à
#' "m7" et celle des autres variables *i*_highest_score seront vides.
#'
#' Certains indicateurs peuvent n'avoir de sens que sous certaines conditions. Par exemple, le test
#' d'homoscédasticité n'est valide que si les résidus sont indépendants et les tests de normalité que
#' si les résidus sont indépendants et homoscédastiques. Le paramètre \code{conditional_indicator}
#' permet de prendre en compte cela en réduisant, sous certaines conditions, à 1 le poids de certains variables.
#' C'est une liste une \code{list} contenant des listes ayant 3 éléments :
#' - "indicator" : nom de la variable pour laquelle on veut ajouter des conditions
#' - "conditions" : nom des variables que l'on utilise pour conditionner
#' - "conditions_modalities" : modalités qui doivent être vérifiées pour modifier le poids
#' Ainsi, avec le paramètre \code{conditional_indicator = list(list(indicator = "residuals_skewness", conditions = c("residuals_independency", "residuals_homoskedasticity"), conditions_modalities = c("Bad","Severe")))}
#' on réduit à 1 le poids de la variable "residuals_skewness" lorsque les modalités du test d'indépendance
#' ("residuals_independency") ou du test d'homoscédasticité ("residuals_homoskedasticity") valent "Bad" ou "Severe".
#'
#' @encoding UTF-8
#' @return Un objet de type \code{\link{QR_matrix}} ou \code{\link{mQR_matrix}}.
#' @examples \dontrun{
Expand All @@ -65,6 +82,7 @@ compute_score.QR_matrix <- function(x,
f_residual_td_on_sa = 30,
f_residual_td_on_i = 20,
oos_mean = 15,
oos_mse = 10,
residuals_independency = 15,
residuals_homoskedasticity = 5,
residuals_skewness = 5,
Expand All @@ -73,6 +91,7 @@ compute_score.QR_matrix <- function(x,
normalize_score_value,
na.rm = FALSE,
n_contrib_score,
conditional_indicator,
...){
# score_formula_exp <- as.expression(substitute(score_formula))

Expand All @@ -85,7 +104,41 @@ compute_score.QR_matrix <- function(x,
length(modalities) - 1)
if(!all(names(score_pond) %in% colnames(QR_modalities)))
stop("Il manque des variables : vérifiez le paramètre score_pond")

# Conditionnement des variables
if(!missing(conditional_indicator) && length(conditional_indicator) > 0){
# conditional_indicator <- list(list(indicator = "residuals_skewness",
# conditions = c("residuals_independency",
# "residuals_homoskedasticity"),
# conditions_modalities = c("Bad","Severe")))
for (i in 1:length(conditional_indicator)){
indicator_condition <- conditional_indicator[[i]]

if(any(is.na(match(c("indicator", "conditions", "conditions_modalities"),
names(indicator_condition)))))
stop("Mauvaise spécification de la variable indicator_condition")

indicator_variables <- c(indicator_condition$indicator,
indicator_condition$conditions)
if(!all(indicator_variables %in% colnames(x$modalities)))
stop("Il manque des variables : vérifiez le paramètre indicator_variables")

# Séries qui vérifient au moins une des conditions
series_to_change <- rowSums(sapply(indicator_condition$conditions,
function(name) {
x$modalities[, name] %in% indicator_condition$conditions_modalities
}), na.rm = TRUE)
series_to_change <- which(series_to_change > 0)
if(indicator_condition$indicator[1] %in% names(score_pond)){
QR_modalities[series_to_change, indicator_condition$indicator[1]] <-
QR_modalities[series_to_change, indicator_condition$indicator[1]] /
score_pond[indicator_condition$indicator[1]]
}
}
}

QR_modalities <- QR_modalities[, names(score_pond)]

for(nom_var in names(score_pond)){
QR_modalities[, nom_var] <- QR_modalities[, nom_var] * score_pond[nom_var]
}
Expand All @@ -100,13 +153,11 @@ compute_score.QR_matrix <- function(x,
}
score <- score[- total_pond_id]


x$modalities[,grep("(_highest_contrib_score$)|(score)",
colnames(x$modalities))] <- NULL
x$values[,grep("(_highest_contrib_score$)|(score)",
colnames(x$values))] <- NULL


x$modalities$score <- score
x$values$score <- score
x$score_formula <- paste(score_pond, "*",
Expand Down
2 changes: 1 addition & 1 deletion R/extractQR.R
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ extract_QR <- function(matrix_output_file, sep = ";", dec = ","){
"qs_residual_sa_on_i","f_residual_sa_on_i",
"f_residual_td_on_sa","f_residual_td_on_i",
"residuals_independency","residuals_homoskedasticity",
"residuals_skewness","residuals_kurtosis","residual_normality",
"residuals_skewness","residuals_kurtosis","residuals_normality",
"oos_mean","oos_mse","m7","q","q_m2","pct_outliers")
QR_modalities <- demetra_m[,modalities_variables]
QR_values <- demetra_m[,values_variables]
Expand Down
2 changes: 2 additions & 0 deletions README.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ knitr::opts_chunk$set(
)
```

# JDCruncheR

L'objectif premier du package JDCruncheR est de permettre de lancer rapidement et plus facilement le cruncher (JWSACruncher) de JDemetra+. Le cruncher est un outil qui permet de mettre à jour un workspace de JDemetra+ à partir de la console, sans devoir ouvrir JDemetra+. La dernière version du cruncher est téléchargeable sous <https://github.com/jdemetra/jwsacruncher/releases>. Pour plus d'informations consulter le lien github du cruncher <https://github.com/jdemetra/jwsacruncher/wiki>.

JDCruncheR permet également de calculer un *bilan qualité*, à partir des résultats du cruncher, qui synthétise l'ensemble des diagnostics liés aux séries désaisonnalisée afin de repérer rapidement les séries les plus problématiques sur lesquelles il faut concentrer son analyse. Il est surtout utile dans le cas de la désaisonnalisation d'un grand nombre de séries puisqu'il est dans ce cas impossible de regarder l'ensemble des diagnostics pour chaque série dans un temps raisonnable.
Expand Down
29 changes: 25 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,35 @@

<!-- README.md is generated from README.Rmd. Please edit that file -->
L'objectif premier du package JDCruncheR est de permettre de lancer rapidement et plus facilement le cruncher (JWSACruncher) de JDemetra+. Le cruncher est un outil qui permet de mettre à jour un workspace de JDemetra+ à partir de la console, sans devoir ouvrir JDemetra+. La dernière version du cruncher est téléchargeable sous <https://github.com/jdemetra/jwsacruncher/releases>. Pour plus d'informations consulter le lien github du cruncher <https://github.com/jdemetra/jwsacruncher/wiki>.

JDCruncheR permet également de calculer un *bilan qualité*, à partir des résultats du cruncher, qui synthétise l'ensemble des diagnostics liés aux séries désaisonnalisée afin de repérer rapidement les séries les plus problématiques sur lesquelles il faut concentrer son analyse. Il est surtout utile dans le cas de la désaisonnalisation d'un grand nombre de séries puisqu'il est dans ce cas impossible de regarder l'ensemble des diagnostics pour chaque série dans un temps raisonnable.
# JDCruncheR

Pour installer JDCruncheR rien de plus simple ! Deux solutions : soit utiliser le package devtools :
L’objectif premier du package JDCruncheR est de permettre de lancer
rapidement et plus facilement le cruncher (JWSACruncher) de JDemetra+.
Le cruncher est un outil qui permet de mettre à jour un workspace de
JDemetra+ à partir de la console, sans devoir ouvrir JDemetra+. La
dernière version du cruncher est téléchargeable sous
<https://github.com/jdemetra/jwsacruncher/releases>. Pour plus
d’informations consulter le lien github du cruncher
<https://github.com/jdemetra/jwsacruncher/wiki>.

JDCruncheR permet également de calculer un *bilan qualité*, à partir des
résultats du cruncher, qui synthétise l’ensemble des diagnostics liés
aux séries désaisonnalisée afin de repérer rapidement les séries les
plus problématiques sur lesquelles il faut concentrer son analyse. Il
est surtout utile dans le cas de la désaisonnalisation d’un grand nombre
de séries puisqu’il est dans ce cas impossible de regarder l’ensemble
des diagnostics pour chaque série dans un temps raisonnable.

Pour installer JDCruncheR rien de plus simple \! Deux solutions : soit
utiliser le package devtools :

``` r
# install.packages("devtools")
devtools::install_github("AQLT/JDCruncheR", build_vignettes = TRUE)
```

Soit installer JDCruncheR à partir du **.zip** ou du **.tar.gz** du package qui peuvent être téléchargés à l'adresse <https://github.com/AQLT/JDCruncheR/releases>. Pour plus d'informations sur l'installation du package et la configuration du cruncher voir le [wiki](https://github.com/AQLT/JDCruncheR/wiki).
Soit installer JDCruncheR à partir du **.zip** ou du **.tar.gz** du
package qui peuvent être téléchargés à l’adresse
<https://github.com/AQLT/JDCruncheR/releases>. Pour plus d’informations
sur l’installation du package et la configuration du cruncher voir le
[wiki](https://github.com/AQLT/JDCruncheR/wiki).
63 changes: 63 additions & 0 deletions _pkgdown.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
navbar:
structure:
left:
- home
- intro
- reference
- articles
- tutorials
- news
- jdemetra
right: github
components:
home:
icon: fa-home fa-lg
href: index.html
reference:
text: Fonctions du package
href: reference/index.html
articles:
text: Vignette
href: articles/Lancement_cruncher.html
news:
text: News
href: news/index.html
jdemetra:
text: JDemetra+
menu:
- text: Télécharger JDemetra+
href: https://github.com/jdemetra/jdemetra-app/releases
- text: Télécharger le cruncher de JDemetra+
href: https://github.com/jdemetra/jwsacruncher/releases
- text: Configuration avec une version portable de Java
href: https://github.com/AQLT/JDCruncheR/wiki/Installation-et-configuration-de-JDemetra--et-du-cruncher
github:
icon: fa-github fa-lg
href: https://github.com/nbbrd/rjdemetra

reference:
- title: Bilan qualité
desc: Fonctions pour créer, manipuler et exporter le bilan qualité
contents:
- '`extract_QR`'
- '`compute_score`'
- '`weighted_score`'
- '`export_xlsx.mQR_matrix`'
- '`export_xlsx.QR_matrix`'
- '`extract_score`'
- '`QR_matrix`'
- '`QR_var_manipulation`'
- '`rbind.QR_matrix`'
- '`add_indicator`'
- '`recode_indicator_num`'
- '`sort`'
- '`compute_score`'
- '`print.QR_matrix`'
- title: Cruncher
desc: Fonctions pour utiliser le cruncher
contents:
- '`cruncher`'
- '`cruncher_and_param`'
- '`create_param_file`'
- '`multiprocessing_names`'
- '`update_workspace`'
Loading

0 comments on commit ea865ed

Please sign in to comment.