-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdescriptive_statistics.Rmd
107 lines (83 loc) · 4.45 KB
/
descriptive_statistics.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
---
title: "Statistique descriptive"
author:
- name : "Thibaut Dubois - Martin Masson"
url: https://github.com/datastorm-open/webinar_anonymization
affiliation: DataStorm
affiliation_url: https://datastorm.fr
date: "08/09/2020"
output:
html_document :
toc: true
toc_depth: 2
---
```{r setup, include=FALSE, echo=FALSE}
require(data.table)
require(rAmCharts)
## Import data
source("bdd/script_bdd.R", local = FALSE, encoding = "utf-8")
rm(list = setdiff(ls(), "data"))
## Echantillonnage (intervalle de confiance à 90 % pour un taux d'échantillonnage de 10 %)
# Pour le risque global de tachycardie
var <- "Risque tachycardie"
n = 50
# (qbinom(c(0.05, 0.95), prob = mean(data[[var]]), size = round(nrow(data)*n/100)) - sum(data[[var]])*(100-n)/100)/(sum(data[[var]])*(100-n)/100)*100 # = tirage avec remise
quantile(sapply(1:1000, function(x) (sum(data[[var]])*n/100 - sum(data[[var]][sample(1:nrow(data), size = nrow(data)*n/100)]))/(sum(data[[var]])*n/100)*100), c(0.05, 0.95))
# Pour le risque de tachycardie chez les professionnels
# (qbinom(c(0.05, 0.95), prob = mean(data[`Pratique declaree` == "Professionnelle"][[var]]), size = round(nrow(data[`Pratique declaree` == "Professionnelle"])*n/100)) - sum(data[`Pratique declaree` == "Professionnelle"][[var]])*(100-n)/100)/(sum(data[`Pratique declaree` == "Professionnelle"][[var]])*(100-n)/100)*100 # = tirage avec remise
quantile(sapply(1:1000, function(x) (sum(data[`Pratique declaree` == "Professionnelle"][[var]])*n/100 - sum(data[`Pratique declaree` == "Professionnelle"][[var]][sample(1:nrow(data[`Pratique declaree` == "Professionnelle"]), size = nrow(data[`Pratique declaree` == "Professionnelle"])*n/100)]))/(sum(data[`Pratique declaree` == "Professionnelle"][[var]])*n/100)*100), c(0.05, 0.95))
```
# Informations quasi-identifiantes
## Répartition du personnel dans l'entreprise
```{r pole, echo=FALSE}
data[, `Pratique declaree` := factor(`Pratique declaree`, levels = unique(`Pratique declaree`))]
dt = data.table(table(data$`Pratique declaree`))
colnames(dt) = c("label", "value")
amPie(dt,
main=sprintf("Répartition des utilisateurs par pratique déclarée",
nrow(data)))
```
```{r job, echo=FALSE}
dt = data.table(table(data$`Activite principale`))
colnames(dt) = c("label", "value")
amPie(dt,
main=sprintf("Répartition des utilisateurs par activité principale",
nrow(data)))
```
## Etude du temps de travail et de la fréquence de déplacement
```{r time, echo=FALSE}
df = data.frame(table(cut(data$`Volume horaire mensuel`,
seq(floor(min(data$`Volume horaire`)/5)*5, ceiling(max(data$`Volume horaire`)/5)*5, 5),
include.lowest = T, right = F)))
plt <- amBarplot("Var1", "Freq", df, horiz = T,
xlab="Volume horaire réel",
ylab="Fréquence",
show_values = T,
main="Répartition du volume horaire mensuel réalisé")
plt@dataProvider <- lapply(1:nrow(df), function(x) {plt@dataProvider[[x]]$color <- colorRampPalette(c("#edd7e8", "#5c0047"))(nrow(df))[x] ; plt@dataProvider[[x]]})
plt
```
```{r move, echo=FALSE}
rAmCharts::amHist(data$`Freq. activites mensuelles`, breaks = seq(0, ceiling(max(data$`Freq. activites mensuelles`)/5)*5, 5),
col = "#5c0047", border = "white",
xlab="Fréquence mensuelle des activités",
ylab="Fréquence",
main="Répartition de la fréquence mensuelle des activités")
```
# Informations sensibles
```{r path, echo=FALSE}
dt = as.data.table(data[, c("Risque hypertension", "Risque tachycardie"), with = F])
dt_counts <- data.frame(table(apply(dt, 1, sum)))
plt <- amBarplot("Var1", "Freq", dt_counts,
main="Répartition du nombres de comorbidité parmi les utilisateurs",
xlab="Nombre de comorbidités",
ylab="Fréquence", show_values = T)
plt@dataProvider <- lapply(1:nrow(dt_counts), function(x) {plt@dataProvider[[x]]$color <- colorRampPalette(c("#edd7e8", "#5c0047"))(nrow(dt_counts))[x] ; plt@dataProvider[[x]]})
plt
```
```{r diap_dep, echo=FALSE}
cross_dia_dep = data[, .(somme = round(sum(`Risque tachycardie`)/.N*100, 2)), by = c("Pratique declaree")]
amBarplot("Pratique declaree", "somme",
data = cross_dia_dep, stack_type = "regular",
horiz = T, show_values = T, main = "Proportion d'utilisateurs associés à un risque de tachycardie par activité déclarée")
```