Post on 31-Jan-2020
Generazione di grandi quantita di tabelle e grafciin formato standard per pubblicazioni cartacee
Matilde Razzanelli, Mirko Monnini, Cristina Orsini, ElenaMarchini, Simone Bartolacci, Roberto Berni, Rosa Gini
Agenzia regionale di sanita della Toscana
matilde.razzanelli@ars.toscana.it
Indice
I natali
Il metodo
Prospettive di utilizzo e sviluppo
Indice
I natali
Il metodo
Prospettive di utilizzo e sviluppo
La procedura nasce perche
ARS ha spesso bisogno di generare grandi quantita di graficie tabelle per pubblicazioni cartacee
questo materiale deve rispondere a dei requisiti di uniformitain termini di
dimensionicolori (gamma e modalita di codifica (RGB,CMYK...)label (Nomi delle ASL, Regioni ...)formattazione
grafici : plotregion, presenza e caratteristiche degli assi, dei valori ecc;tabelle : label, grassetti, griglia
la normalizzazione del materiale prodotto dai singoliricercatori richiede molto lavoro di editing manuale
L’idea: la generazione in automatico
L’idea: la generazione in automatico
Usiamo Stata e LATEX
L’idea: la generazione in automatico
Usiamo Stata e LATEX
creiamo un procedura
L’idea: la generazione in automatico
Usiamo Stata e LATEX
creiamo un procedura
che genera gli oggetti finiti
Indice
I natali
Il metodoIsolare le caratteristiche standard e variabiliDefinire un data model standardRealizzare le procedure
I graficiLe tabelle
Prospettive di utilizzo e sviluppo
Indice
I natali
Il metodoIsolare le caratteristiche standard e variabiliDefinire un data model standardRealizzare le procedure
Prospettive di utilizzo e sviluppo
Caratteristiche standard e variabili
Standard
larghezza massima degli oggettitipo e dimensione dei fontcolorialtre caratteristiche:
ordinamento dei valori in grafici e tabelle (es: ASL per codice,regioni per valore degli indicatori ecc)ordine di comparsa di specifici valori (es: Maschi, Femmine,Totale)
Variabili
tipologie di grafici e tabelle ammessenumero massimo di dimensioni ammesse nelle tabelle (celleunite) e nei grafici
Indice
I natali
Il metodoIsolare le caratteristiche standard e variabiliDefinire un data model standardRealizzare le procedure
Prospettive di utilizzo e sviluppo
Il data model
La procedura ha bisogno di dati in formato standard.Abbiamo quindi definito le informazioni che erano necessariesuddividendole in 2 archivi:
Metadati : Codice univoco del grafico/tabella, Titolo/Caption,Tipo di grafico, Livelli...
Dati : Codice univoco del grafico/tabella, Livelli, Valori ...
Indice
I natali
Il metodoIsolare le caratteristiche standard e variabiliDefinire un data model standardRealizzare le procedure
I graficiLe tabelle
Prospettive di utilizzo e sviluppo
I grafici
La procedura viene gestita da un unico file do che
carica i dati e i metadati
elabora i metadati in modo da derivarne i parametri necessariper la caratterizzazione degli oggetti da realizzare ed inparticolare ne deriva la tipologia di grafico
per ciascuna tipologia attiva uno specifico file do che realizza,salva e stampa il grafico
I parametri generali (colori, dimensioni, aspetti della graph regionecc, sono definiti in global raccolte in un altro file do
Figure: Alcuni esempi di grafici generati dalla procedura
Pie
VdA
Lom
Blz
Trn
Ven
FVGLig
EmR
Tos
Umb
MarLaz
Abr
Mol
Cam
PugBas
Cal
Sic
Sar
Tos0,9
1,0
1,0
1,1
1,1
1,1
ICP
0,9 1,0 1,0 1,1 1,1ICM
(a) Scatter, con etichette che ruotano intorno al valore nelcaso piu valori si sovrappongano
70
75
80
85
1974 1977 1980 1983 1986 1989 1992 1995 1998 2001 2004 2007 2010 2012
Toscana Maschi Toscana Femmine Italia Maschi Italia Femmine
(b) Linee, con colori e tratteggi predefiniti
Marche
Trento
Veneto
Liguria
Umbria
Basilicata
Bolzano
FVG
E−R
Toscana
0−,5−1 0 ,5
(a) Barre con valori negativi
52,927,3
19,8
59,422,0
18,6
68,317,3
14,4
52,927,3
19,8
59,422,0
18,6
68,317,3
14,4
52,927,3
19,8
59,422,0
18,6
68,317,3
14,4
Attivitàlimitate
MotiviPsicologici
Motivi Fisici
0 giorni 1/14 giorni 14+ giorni
(b) Barre appaiate orizzontali
Basilicata
Calabria
Campania
Bolzano
Umbria
Lazio
Sicilia
Abruzzi
Molise
Puglia
Valle d’Aosta
Italia
Toscana
Emilia Romagna
Marche
Lombardia
Piemonte
Friuli−Venezia Giulia
Veneto
Sardegna
Trento
Liguria
0 10 20
(c) Barre con asse graduato egli intervalli di confidenza
12,4
8,3
10,7
7,8
14,6
17,3
7,8
8,4
13,3
16,7
11,9
20,4
11,0
25,3
14,6
17,6
7,9
10,8
9,1
11,4
Campania
Lazio
Liguria
Umbria
Puglia
Toscana
Marche
Emilia Romagna
Lombardia
Italia
Sicilia
Piemonte
Basilicata
Abruzzi
Veneto
Calabria
Molise
Friuli−Venezia Giulia
Sardegna
Trentino Alto Adige
Maschi
3,7
1,7
2,1
2,5
3,5
4,0
2,3
2,2
1,7
2,8
4,0
3,0
3,4
8,3
3,8
3,6
3,0
3,0
2,9
3,1
Basilicata
Umbria
Marche
Puglia
Campania
Lazio
Calabria
Toscana
Emilia Romagna
Liguria
Sardegna
Italia
Lombardia
Abruzzi
Friuli−Venezia Giulia
Piemonte
Veneto
Molise
Sicilia
Trentino Alto Adige
Femmine
(d) Barre, grafico combinato per genere
2,3
3,2
3,4
3,6
3,3
3,1
3,5
3,2
3,5
3,2
3,4
3,4
2,4
2,5
2,1
1,3
0,7
0,3
2,2
3,0
3,3
3,4
3,2
3,1
3,5
3,3
3,6
3,3
3,5
3,7
2,7
3,0
2,8
2,0
1,3
0,8
0−4
5−9
10−14
15−19
20−24
25−29
30−34
35−39
40−44
45−49
50−54
55−59
60−64
65−69
70−74
75−79
80−84
85+
Maschi Femmine
(e) Piramide dell’eta
Binge drinking
Comportamento da bullo
Fumare sigarette regolarmente
Guida dopo assunzione alcolici
Incidente stradale
Rapporti sessuali <= 14 aa
20
40
60
80
100
Non assuntori Monoassuntori Poliassuntori
Center is at 0
(f) Radar
0102030405060708090
0
1000
2000
3000
4000
0−4
5−9
10−1
4
15−1
9
20−2
4
25−2
9
30−3
4
35−3
9
40−4
4
45−4
9
50−5
4
55−5
9
60−6
4
65−6
9
70−7
4
75−7
9
80−8
485
+
DDD per 1000 ab die − Maschi DDD per 1000 ab die − FemminePrevalenza d’uso − Maschi Prevalenza d’uso − Femmine
(g) Istogramma e linee con doppio asse verticale
Alcuni problemi generali
Rispondere alle esigenze degli standard fissi ha richiesto larisoluzione di alcuni problemi:
dimensione del font: in Stata la dimensione del font eproporzionale alla dimensione maggiore del grafico. Avendonoi posto una larghezza massima abbiamo dovuto trovare ilmodo di scalare correttamente il font in modo che rimanessedi una dimensione data anche quando la lunghezza del graficosuperarava la larghezza
colori e tipologia di linee: abbiamo parametrizzatato l’usodi determinati colori e linee che dovevano rimanere costanti intutta la pubblicazione (maschi- femmine; Italia-Toscana ecc)
colori in quadricromia
Alcuni problemi specifici
altezza delle barre costante parametrizzata per essereindipendente (come il font) dalla dimensione del grafico stesso.
la distanza tra gruppi di barre nelle barre appaiate.
aspetto della legenda parametrizzazione del numero dirighe/colonne della legenda in base alla lunghezza delle label
xlabel/ylabel parametrizzazione del numero di righe in cuidistribuire le label testuali perche il grafico non vengasproprozionato rispetto ad esse (ylabel) o perche non sisovrappongano (xlabel)
xscale/yscale parametrizzazione delle scale da utilizzare inbase ai range di valori e delle etichette
la posizione delle etichette negli scatter: rotazione delleetichette nei casi di punti sovrapposti
Un caso a parte: le Mappe
Per le mappe abbiamo sfruttato unmodulo R gia sviluppato in ARS.Come?Stata prepara in apposite cartelle
i dataset con dati e metadati giapre-elaborati
dei file r generati da Stata (file di
testo con estensione .r)
l’identificativo del grafico darealizzarei parametri relativi a colori,dimensioni...
lancia il modulo R con il comandoshell
In prospettiva passeremo all’uso di Stataper la realizzazione delle mappe
Le tabelle
La procedura viene gestita da un unico file.do che
carica i dati e i metadati
elabora i metadati in modo da derivarne i parametri necessariper la caratterizzazione degli oggetti da realizzare ed inparticolare ne deriva il numero di colonne
successivamente un unico file do produce la tabella scritta inLATEX e inserita in un ambiente standalone
l’output finale e un pdf gia della giusta dimensione che puoessere inserito nella pubblicazione come immagine
Le tabelle
La realizzazione delle tabelle avviene
manipolando i dati in modo da generale un dataset Stataanalogo a quello della tabella finale,
manipolando ulteriormente il codice Stata che genera il codiceLATEX della tabella in modo da gestire:
multirowgrassettilarghezza delle colonne
generando, tramite manipolazione dei metadati, le intestazionidelle colonne LATEX
stampando poi la tabella tramite l’uso del comando listtex
Alcuni esempi di tabelleCasi Incidenti Casi Prevalenti
AUSL Maschi Femmine Totale Maschi Femmine Totale
1 - Massa 682 658 1.340 4.361 5.574 9.935
2 - Lucca 753 705 1.458 4.849 5.982 10.831
3 - Pistoia 955 904 1.859 6.160 7.666 13.826
4 - Prato 753 720 1.473 4.851 6.103 10.954
5 - Pisa 1.101 1.049 2.150 7.087 8.898 15.985
6 - Livorno 1.208 1.131 2.339 7.743 9.592 17.335
7 - Siena 919 865 1.784 5.982 7.341 13.323
8 - Arezzo 1.155 1.058 2.213 7.484 8.984 16.468
9 - Grosseto 787 735 1.522 5.060 6.233 11.293
10 - Firenze 2.760 2.663 5.423 17.818 22.607 40.425
11 - Empoli 763 712 1.475 4.953 6.039 10.992
12 - Viareggio 542 536 1.078 3.466 4.540 8.006
Toscana 12.378 11.736 24.114 79.814 99.559 179.373
(h) Tabella a 1 livello orizzontale e 2 verticali, con impostazione inautomatico dei grassetti
Titolo di Studio Sottopeso Normopeso Sovrappeso Obeso
Maschi
Elementare/nessuno 0,0 38,9 47,9 13,2
Licenza media inferiore 0,0 40,0 50,0 10,0Licenza mediasuperiore 1,8 53,3 38,1 6,8
Laurea 0,7 46,1 48,1 5,1
Femmine
Elementare/nessuno 2,7 43,9 39,4 14,0
Licenza media inferiore 4,2 57,1 29,6 9,1Licenza mediasuperiore 6,9 67,7 19,9 5,5
Laurea 5,2 72,4 17,8 4,6
(i) Tabella a 2 livelli orizzontali e 1 verticali, con multirow
Alcuni esempi di tabelle
Macellati Morti Abbattuti Totale
Specie animale Esaminati Positivi Esaminati Positivi Esaminati Positivi Esaminati Positivi
2009
Bovini e bufalini 886 0 1.015 0 0 0 1.901 0
Ovini 569 0 1.317 4 456 5 2.342 9
Caprini 72 0 120 0 22 0 214 0
2010
Bovini e bufalini 873 0 896 0 0 0 1.769 0
Ovini 484 1.251 3 0 0 0 1.735 3
Caprini 122 0 225 0 0 0 347 0
2011
Bovini e bufalini 707 0 867 0 0 0 1.574 0
Ovini 480 0 1.237 7 150 16 1.903 23
Caprini 87 0 143 0 0 0 230 0
2012
Bovini e bufalini 480 0 857 0 0 0 1.337 0
Ovini 552 1 1.112 1 136 13 1.800 15
Caprini 216 1 168 0 13 0 397 1
2013
Bovini e bufalini 320 0 950 0 0 0 1.270 0
Ovini 408 0 1.188 2 9 2 1.605 4
Caprini 352 0 181 0 1 0 534 0
(j) Tabella a 2 livelli orizzontali e 2 verticali, con multirow
Alcuni problemi risolti
Tabella Standalone: utilizzo del pacchetto LATEX Standaloneper generare una tabella ritagliata utilizzabile come figura
Dimensionamento delle colonne di intestazione di riga:ha richiesto un utilizzo avanzato del codice LATEX perrelativizzare le dimensioni delle colonne alla lunghezza deltesto che deve contenere.
Automatizzazione dell’utilizzo del grassetto
Indice
I natali
Il metodo
Prospettive di utilizzo e sviluppo
Utilizzo e sviluppo
La procedura sviluppata puo essere usata per generazione di graficie tabelle di buona qualita
per pubblicazioni o presentazioni formali
per report generati in automatico con Stata
Stiamo lavorando ad un’interfaccia avanzata che:
consenta l’inserimento/scelta da maschera dei metadati(salvarti poi in apposito file do )
consenta l’inserimento dei dati in formato non standard
trasformi i dati nel formato richiesto dalla procedura
lanci la procedura e realizza l’oggetto
Questo faciliterebbe l’utilizzo della procedura e ne allargherebbeulteriormente la platea soprattutto per la realizzazione dei graficipiu complessi (barre con linee, mappe ecc)
Riferimenti
Gini R. “Gestione di processi complessi da Stata”http://econpapers.repec.org/paper/bocisug09/07.htm
Gini R., Pasquini J. “Automatic generation of documents”http://econpapers.repec.org/article/tsjstataj/v_3a6_3ay_
3a2006_3ai_3a1_3ap_3a22-39.htm