Sei sulla pagina 1di 139

INTRODUZIONE A STATA VERSIONE 10.

1
Giulia Cavrini
Dipartimento di Scienze Statistiche Paolo Fortunati Universit di Bologna

INDICE

Introduzione Il menu Help La barra dei menu e la barra delle icone Creare un file LOG Definizione del file di dati Leggere file ASCII Inserire le etichette Codificare un variabile Creare nuove variabili Operatori relazionali Statistiche descrittive: distribuzioni di frequenza semplici Statistiche descrittive: misure di sintesi e di variabilit Grafici: A barre, Istogrammi, Box-plot

Che cos STATA?


STATA un Sistema di Analisi Statistica (Statistical Analysis System) creato per ricercatori. nato in ambito accademico. Il sito ufficiale del programma : http://www.stata.com/

un ambiente che consente di manipolare e analizzare i dati usando metodi statistici e grafici. un pacchetto integrato non una collezione di moduli separati. Con STATA possibile fare: Data Management Analisi descrittive Grafici Modelli lineari e non ANOVA, ecc.
www.ats.ucla.edu/stat/stata

Installare STATA

Per default STATA viene installato in c:\Stata10. I files ufficiali di tipo ado vengono inseriti in c:\Stata10\ado. I files non ufficiali in c:\ado.
Le principali directory create sono:

sysdir STATA: UPDATES: BASE: SITE: PLUS: PERSONAL:

C:\Program Files\Stata10\ C:\Program Files\Stata10\ado\updates\ C:\Program Files\Stata10\ado\base\ C:\Program Files\Stata10\ado\site\ C:\ado\plus\ C:\ado\personal\

Alcune cose da conoscere prima di iniziare a lavorare con STATA:

STATA case-sensitive: sex e Sex sono due nomi di variabili diverse.


. il prompt di STATA exit il comando che consente di uscire da STATA. In alternativa si pu usare il menu File Exit.

Dopo aver cliccato due volte sullicona di STATA compare la seguente immagine:

Nella finestra Review vengono registrati i Comandi

Nella finestra Stata Results viene visualizzato loutput prodotto

Nella finestra Variables sono visualizzate le variabili

Nella finestra Stata Command viene inserito un singolo comando ed eseguito con [Enter]

La finestra Results

Se non si vogliono interruzioni delloutput con more, occorre digitare: . set more off Se si vuole settare questo in maniera permanente, digitare: . set more off, permanently Per attivare more di nuovo, digitare: . set more on, [permanently] La dimensione del buffer iniziale della finestra Results mostra solo poche pagine di output (32 kb); se lo si vuole incrementare a 200 kb, per esempio, digitare: . set scrollbufsize 200000 Occorre per riaprire STATA per rendere effettivo questo cambiamento.

Salvare il contenuto della finestra Review

possibile salvare in un file di sintassi (*.do) il contenuto della finestra Review.


Per salvare i comandi occorre cliccare con il tasto destro del mouse sulla finestra Review: compare un menu allinterno del quale contenuta anche lopzione: Save All I comandi contenuti nella finestra Review possono essere richiamati con Pag e con Pag.

La finestra editor Do-file

Leditor Do.file un editor di testo standard ed usato per scrivere file di testo (generalmente files .do). Un file Do una serie di comandi che devono essere eseguiti in sequenza. Si apre cliccando sullicona Leditor Do-file ha la caratteristica speciale che pu essere eseguito tutto o solo una parte dei comandi cliccando sullicona Do o digitando Ctrl-D Licona Run usata raramente e consente di eseguire i comandi senza visualizzare i risultati. possibile avere pi finestre Editor Do-file attive.

Il menu Help - 1

STATA ha incorporato un help molto facile da usare.

Il menu Help fornisce opzioni relative ai Contenuti e ai Comandi.


LHelp online visualizzato nella finestra Viewer.

Se si conosce il nome del comando, per visualizzarne il contenuto si pu utilizzare sia il Viewer sia la riga di Stata Command:

help tabulate whelp tabulate

dalla linea di comando Viewer dalla finestra Stata Command

Il menu Help - 2

Se non si conosce il comando esatto, possibile, usando Search oppure Findit, visualizzare tutti i possibili comandi relativi allargomento indicato.

search nonparametric findit poisson goodness

dalla linea di comando Viewer dalla finestra Stata Command

Inoltre possibile ricercare in Internet, nel sito web di Stata, informazioni utili, links, macro gi scritte e pubblicazioni. Cerchiamo, ad esempio, una funzione particolare: Help Search pie

Si apre questa prima finestra, in cui occorre indicare la parola chiave della ricerca:

Il risultato della ricerca questo:

Se gi noto il comando, allora occorre usare la finestra Stata Command dellHelp:

Il risultato della ricerca questo:

Le parole sottolineate sono dei link.

La barra dei menu e la barra delle icone:


Apre la finestra Do-file di STATA.

New Do-File Editor.

Apre la finestra di Editor dei dati. finestra di Editor dei dati in modalit browse.

Data Editor.

Data Browser. Apre la

Open (use) Save.


Salva il foglio di lavoro corrente

Break.

Interrompe il processore.

Print results
Log Begin.

Bring Graph Windows to Front.

Usata per New Viewer. Apre la finestra viewer di STATA. configurare un file log. Il principale uso di questa finestra visualizzare i files di help

Tipi di file Stata

dta files: dati Stata.


Lestensione per un dataset di Stata .dta.

do files: files di comando.


File che contengono righe di comandi che possono essere eseguiti in sequenza. Sono in formato ASCII.

ado files: programmi/macro.

hlp files: Stata help.


gph files: grafici.

Creare un file log - 1


Allinizio della sessione di lavoro o quando lo si ritiene pi opportuno, possibile creare un file log in cui vengono salvati i comandi e loutput ad essi corrispondenti.

Per creare un file log si pu digitare il comando:


.log using "C:\Documents Settings\elisabetta.petracci2\Desktop\prova.smcl" and

oppure si pu utilizzare il menu: File Log Begin oppure si pu utilizzare la barra delle icone:

Filename un nome qualsiasi che pu essere assegnato al file log.


Stata aggiunge il suffisso .smcl. In questo caso, per, il file pu essere letto e stampato solo con Stata. Il file log pu essere anche salvato in un formato testo, con lestensione .log. In questo caso pu essere visualizzato con un qualunque editor di testo.

Creare un file log - 2


Si pu sospendere il salvataggio delloutput digitando: . log off

e si pu riprendere il salvataggio delloutput digitando: . log on Per chiudere il file log, oltre al menu, si pu usare il comando: . log close

Il file log

Il file log pu essere stampato tramite la barra dei menu o con il semplice comando: . print filename I passi da eseguire sono, quindi, i seguenti: 1. Lanciare Stata 2. Definire il file log 3. Aprire il file di dati 4. Eseguire le procedure statistiche ritenute necessarie 5. Chiudere il file log 6. Stampare i risultati

Il file log comandi


Analogamente, si possono salvare tutti i comandi futuri di Stata eseguiti nella sessione di lavoro corrente in un file log di sintassi digitando il comando:

. cmdlog using filename, [replace|append]

Definizione del file di dati - 1


I. Inserimento dei dati attraverso la finestra dei comandi.
(1) Si possono inserire i dati tramite il comando input. (2) I nomi delle variabili possono essere lunghe al massimo 8 caratteri e devono essere separate da spazi (3) Ad esempio:

. input id age sex reddito


(4) A questo punto si possono introdurre i dati relativi alla prima osservazione e, successivamente, tutte le altre. Se un dato mancante pu essere sostituito con un punto.
(5) Al termine dellinserimento dei dati, occorre digitare il comando end.

Definizione del file di dati - Esempio


. input id age sex reddito
id age sex reddito 1.01 22 1 40000 2.02 34 2 50000 3.03 43 1 55444 4.04 43 1 25000 5.end Dopo linserimento, i dati possono essere visualizzati con il comando:

. list

Definizione del file di dati - 2


II. Inserimento dei dati attraverso il foglio elettronico.

. edit
III. Nomi di variabili

I nomi delle variabili possono variare da 1 a 32 caratteri, ma Stata abbrevia a 8 caratteri la visualizzazione nelloutput. I nomi devono iniziare con una lettera.

Definizione del file di dati - 3


IV. Variabili numeriche
Molto spesso non necessario specificare il tipo di formato numerico, ma se si hanno problemi di memoria meglio sapere che i numeri possono essere definiti secondo cinque tipologie diverse:

byte,

int,

long, float (default) o double.

Definizione del file di dati - 4


IV. Variabili numeriche
Nella tabella seguente sono riportati i valori minimo e massimo riservati al diverso tipo di definizione numerica e il numero di byte riservati:

Il comando compress pu ridurre la dimensione del dataset in maniera consistente.

Leggere file ASCII


insheet: si pu accedere ad un file ASCII con il comando:
. insheet using filename, clear Oppure tramite il menu File Import ASCII data created by a spreadsheet: Foglio di calcolo elettronico

Il nostro file ASCII


"TESSERA","AS_ETA","AS_SESSO","MEDICO","GRUP_MED","SUM_DDD","ALTRIF" 1,61,0,101,0,173.335,0 2,63,0,72,1,26.667,1 3,75,0,82,0,213.336,0 4,70,0,25,0,213.336,0 5,72,0,83,0,106.668,1 6,55,0,131,0,26.667,0 7,40,0,56,0,53.334,1 8,71,0,56,0,133.335,1 9,80,1,56,0,26.667,1 10,30,1,34,1,53.334,0 10,30,1,120,0,53.334,0 11,64,1,120,0,80.001,0 12,68,1,165,0,266.669,1 13,45,1,182,0,240.002,0 14,56,0,160,0,40,0 15,68,1,182,0,106.668,1 16,61,1,40,0,133.335,0 17,43,0,40,0,26.667,1 18,92,0,40,0,26.667,0 19,69,1,20,0,80.001,0

File Import ASCII data created by a spreadsheet

Selezionare il file *.csv cliccando su Browse.

Scegliere il delimitatore.

Cliccare su OK.

Apriamo il file c10aa01_pr.csv:

Con il comando list otteniamo questa tabella:

Laltro tipo di dati ASCII quello in formato fisso. In questo caso occorre aprire il menu: File Import ASCII data in fixed format

TESSERA AS_ETA AS_SESSO MEDICO GRUP_MED SUM_DDD ALTRIF

1 5 8 9 12 20 28

4 7 8 11 19 27 35

F4.0 F3.0 F1.0 F3.0 F8.0 F8.2 F8.0

Esempio con dati in formato fisso.

1 610101 2 630 72 3 750 82 4 700 25 5 720 83 6 550131 7 400 56 8 710 56 9 801 56 10 301 34 10 301120 11 641120 12 681165 13 451182 14 560160 15 681182 16 611 40 17 430 40 18 920 40 19 691 20

0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0

173.34 26.67 213.34 213.34 106.67 26.67 53.33 133.34 26.67 53.33 53.33 80.00 266.67 240.00 40.00 106.67 133.34 26.67 26.67 80.00

0 1 0 0 1 0 1 1 1 0 0 0 1 0 0 1 0 1 0 0

Il menu File Import ASCII data in fixed format corrisponde al comando: . infix specifications using filename.

ETICHETTE: per il Dataset

i) Data set labels: pu essere veramente utile avere una descrizione del data set. Dal menu:

Data Labels Label dataset

Questo corrisponde al comando .label data Con il comando de (describe):

ETICHETTE: per le variabili


Data Labels Label variable

ii) Variable labels: pu essere utile avere una etichetta per le variabili, soprattutto quando il nome abbreviato. Dal menu:

Questo corrisponde al comando . label variable varname Con il comando de (describe):

ETICHETTE: per i valori

iii) Value labels: si possono assegnare etichette ai valori assunti da una variabile categorica. Dal menu:

Data Labels Label values Define or modify value labels

Cliccare su Define

Cliccare su OK

Si rende cos disponibile lopzione Add, tramite la quale possiamo inserire laltra etichetta: 1 Si

Una volta terminato linserimento delle etichette, cliccare su Close.


Ma loperazione non ancora completata. Occorre cliccare su:

Data Labels Label values Assign value labels to variable


Scegliere letichetta e indicare la variabile.

Definire con la stessa etichetta No_Si le due variabili grup_med e altrif.

A questo punto sufficiente visualizzare la list della o delle variabili a cui sono state assegnate etichette di valore: . list gruppo_m altri_f

Possiamo visualizzare la descrizione del file con il comando de.

Formati numerici

w: Dimensione totale che include separatore decimale e numero di decimali d: Numero di decimali

Apriamo il file c10aa01.dta


Se la dimensione del file elevata e abbiamo difficolt ad aprirlo o a fare le elaborazioni, possiamo aumentare la memoria, con il comando: . set memory (dim)m Prima di dare questo comando opportuno verificare qual la quantit di memoria attualmente in uso con: . memory

Sintassi dei comandi


La sintassi generale dei comandi STATA pu essere scritta nel seguente modo:

[prefix:] command [varlist] [if expression] [in range] [weight] [, options]

Qualifiers e Opzioni
I qualifiers sono generali per molti comandi. Le opzioni sono specifiche per un comando. La virgola precede la lista delle opzioni disponibili. Dimenticare la virgola rappresenta una causa frequente di messaggi di errore.

A questo punto osserviamo il nostro dataset con il comando describe oppure con il menu:

Data Describe data Describe variable in memory

Inserire le variabili di cui si vuole visualizzare la descrizione

Il comando Describe data - 1


Data Describe data Describe variable in memory

Il comando Describe data - 2


Data Describe data Describe variables in file
Inserire/Cercare il nome del file di cui si vuole visualizzare la descrizione

Si pu visualizzare la descrizione solo di alcune variabili, che andranno inserite in questo riquadro:

Operatori relazionali - 1

Gli operatori relazionali sono 6:


== != > < >= <= uguale a non uguale (~= analogo) maggiore minore maggiore o uguale minore o uguale

Operatori relazionali - 2
Un doppio segno uguale, ==, denota il test logico Il valore alla sinistra uguale al valore a destra?. Il singolo segno =, al contrario, significa qualcosa di diverso: Poni il valore che a sinistra uguale al valore che a destra. Il singolo segno di = non un operatore relazionale e quindi non pu essere usato con if. Gli operatori relazionali possono essere usati per selezionare osservazioni basate su valori assunti dalle variabili numeriche. Solo due operatori, == e != sono usati con variabili stringa.

Operatori logici
Due o pi operatori relazionali possono essere combinati entro una singola espressione if utilizzando un operatore logico. Gli operatori logici di STATA sono i seguenti: & | ! and or not (~ equivalente)

Operatori matematici
Gli operatori matematici di STATA sono i seguenti: + * / ^ addizione sottrazione moltiplicazione divisione potenza

Il segno + viene usato anche per concatenare le stringhe.

Il comando List data - 1


Per elencare i dati occorre digitare il comando: . list che pu essere abbreviato con . l Per elencare una o pi variabili: . list varname(s) (es.: list medico)
Per elencare le variabili da varnamei a varnamej: . list varnamei-varnamej Per elencare tutte le variabili che iniziano con as: . list as*

Il comando List data - 2


in restringe lelenco a un intervallo di osservazioni.
I numeri positivi consentono di far partire lelenco dallinizio del dataset. I numeri negativi dalla fine del dataset.

Per elencare la terza osservazione: . list in 3 Per elencare la quinta osservazione partendo dalla fine: . list in 5 Per elencare lultima osservazione: . list in 1 oppure . list in l ( la lettera l)

Il comando List data - 3


Per elencare la lista dalla quintultima osservazione alla fine: . list medico in -5/l
Per elencare le osservazioni da 1 a 3: . list in 1/3 Per elencare le osservazioni da 5 a 17: . list in 5/17 Per elencare le osservazioni da 3 alla terzultima: . list in 3/-3 Per elencare le osservazioni ponendo condizioni: . list if exp (es.: list if as_sesso==1)

Il comando List data - 4


if exp restringe lelenco alle osservazioni che soddisfano la condizione posta. if pu essere combinato con in (o in con if: lordine non importante Per elencare . list if . list if . list if le osservazioni ponendo condizioni: exp as_sesso==1 as_sesso==1 in 1/20

Il comando list pu essere ottenuto anche con il menu:

Data Describe data List data

Label List
Per visualizzare le definizioni di etichette di valori:
. label list

Esempi di Comandi
. . . . . . . . . . . list l list _all list as_eta as_sesso list as_eta as_sessoin 1/20 list as_eta as_sesso in 1/20 list as_eta as_sesso if as_sesso==1 list as_eta as_sesso if as_sesso==1 in 1/30 bysort altrif: list as_eta sort altrif list as_eta

Creare una nuova variabile - 1


Con i comandi generate e replace si possono creare nuove variabili e assegnare a queste variabili valori per ogni record. Il comando base :

generate type newvar = mathematical expression


Con questi comandi possibile creare variabili uguali a una costante o combinare variabili tra loro, utilizzando espressioni matematiche, funzioni matematiche, funzioni di matrici, e cos via. Oppure si pu usare il menu.

Creare una nuova variabile - 2


Per creare una nuova variabile come espressione algebrica di altre variabili si usa il comando:

. generate newvar = exp


newvar il nome di una nuova variabile: non pu essere il
nome di una variabile che esiste gi. exp una qualunque espressione valida. Una espressione una combinazione di variabili esistenti, operatori e funzioni. Questo comando pu essere abbreviato con g, ge, gen:

. g newvar = exp

Creare una nuova variabile - 3


Per cambiare il contenuto di una variabile esistente si usa il comando:

. replace oldvar = exp


Pertanto, si usa il comando generate per creare una variabile nuova e il comando replace per cambiare il contenuto delle variabili esistenti. Stata richiede questo procedimento pi complesso al fine di non modificare accidentalmente i dati. Questo comando non pu essere abbreviato. Generalmente Stata richiede il comando non abbreviato quando esiste la possibilit di alterare i dati esistenti.

_n e _N - 1
Stata ha la possibilit di creare due variabili particolari, chiamate _n e _N.
_n la notazione che consente di assegnare ad ogni record il numero corrente dellosservazione. _N la notazione per assegnare ad ogni record il numero totale di osservazioni.

. generate id=_n . generate nt=_N

_n e _N - 2

Ricodificare una variabile - 1


Accorpare categorie Creare categorie partendo da una variabile continua Correggere codici errati o cambiare i codici Quando si ricodifica buona norma creare sempre una variabile nuova cos da mantenere la variabile originale e correggere eventuali errori di ricodifica.

Si pu utilizzare il menu
Data Create or change variable Create new variable:

Ricodificare una variabile - 2

1. Inserire il nome della nuova variabile

2. Digitare il 1 valore da ricodificare

3. Indicare il tipo di variabile che si vuole creare 4. Cliccare su if/in

Ricodificare una variabile - 3


Cliccare su Create per selezionare i casi da ricodificare

Costruire la selezione, cliccando successivamente su OK.

Ricodificare una variabile - 4


La finestra Stata Results mostra che la variabile stata creata:

Per noi abbiamo ricodificato una sola classe. Dobbiamo ora creare anche le altre classi di et. Dal momento che la variabile cls_eta esiste gi, non possiamo pi utilizzare il menu precedente. Dobbiamo allora procedere in questo modo: Data Create or change variable Change contents of variable:

Ricodificare una variabile - 5


Digitare cls_eta come variabile da modificare Digitare 2 come nuovo codice

Scegliere nuovamente if/in per Selezionare i casi da ricodificare.

Ricodificare una variabile - 6


La finestra Stata Results mostra che la variabile stata modificata:

Si procede in questo modo finch non si sono fatte tutte le ricodifiche.

Il passo successivo sar quello di verificare che non si siano generati errori di ricodifica e, infine, occorrer mettere le etichette ai valori assunti dalla nuova variabile cls_eta.

Il comando Recode - 1
Per creare classi si pu utilizzare anche un procedimento diverso. Partiamo sempre dal menu:
Data Create or change variable Create new variable

Copiamo la variabile as_eta in una nuova variabile agegroup.

Il comando Recode - 2
A questo punto apriamo il menu: Data Create or change variable Other variable transformation commands Recode categorical variable

Nuova variabile Regole Ricodifiche

Il comando Recode - 3

Regole per la ricodifica delle variabili

Il comando Recode - 4
Nella finestra Stata Results avremo:

Cancellare variabili e osservazioni - 1


Per cancellare variabili o osservazioni si possono utilizzare tre comandi:

. drop . clear . keep


Qual la differenza tra i tre comandi? Il comando drop _all cancella il dataset dalla memoria. Il comando clear cancella sia il dataset sia tutte le definizioni di value label, matrici, equazioni, programmi, risultati di stime, grafici, ecc. In effetti, clear corrisponde a fare il reset di Stata. Il comando keep tiene in memoria solo le informazioni indicate dal comando stesso.

Cancellare variabili e osservazioni - 2


La sintassi analoga a quanto visto con il comando list. Per cancellare una o pi variabili:
. . . . . drop drop drop drop drop varname(s) varnamei-varnamej as* in 1 in 1/3

Il comando keep lavora con la sintassi analoga a drop, ma tiene in memoria le variabili elencate o le osservazioni che rispettano le condizioni poste.

Il comando count
Il comando count usa le espressioni logiche ed particolarmente utile in fase di esplorazione dei dati. Per esempio:

. count if as_eta<=65 & as_sesso==1


1265

conta il numero di osservazioni che soddisfano entrambe le espressioni logiche as_eta<=65 e as_sesso==1.

Ricodificare una variabile con il comando egen e la funzione cut - 1


extensions to generate Un altro modo molto veloce per creare classi quello di utilizzare il comando egen e la funzione cut in esso contenuta. Ad esempio, volendo creare delle classi di et: . egen agegrp1=cut(as_eta), at(15, 45, 65, 85, 103) . tab agegrp1
agegrp1 | Freq. Percent Cum. ------------+----------------------------------15 | 352 7.17 7.17 45 | 1,825 37.20 44.37 65 | 2,596 52.91 97.29 85 | 133 2.71 100.00 ------------+----------------------------------Total | 4,906 100.00

Ricodificare una variabile con il comando egen e la funzione cut - 2


. egen agegrp2=cut(as_eta), at(15, 45, 65, 85, 103), label . tab agegrp2
agegrp2 | Freq. Percent Cum. ------------+----------------------------------15- | 352 7.17 7.17 45- | 1,825 37.20 44.37 65- | 2,596 52.91 97.29 85- | 133 2.71 100.00 ------------+----------------------------------Total | 4,906 100.00

Ricodificare una variabile con il comando egen e la funzione cut - 3


. egen agegrp3=cut(as_eta), at(15, 45, 65, 85, 103) icodes . tab agegrp3
agegrp3 | Freq. Percent Cum. ------------+----------------------------------0 | 352 7.17 7.17 1 | 1,825 37.20 44.37 2 | 2,596 52.91 97.29 3 | 133 2.71 100.00 ------------+----------------------------------Total | 4,906 100.00

Ricodificare una variabile con il comando egen e la funzione cut - 4


. egen agegrp4=cut(as_eta), at(15, 45, 65, 85) . tab agegrp4
agegrp4 | Freq. Percent Cum. ------------+----------------------------------15 | 352 7.37 7.37 45 | 1,825 38.24 45.61 65 | 2,596 54.39 100.00 ------------+----------------------------------Total | 4,773 100.00

Ricodificare una variabile con il comando egen e la funzione cut - 5


icodes richiede che i codici 0, 1, 2, etc. siano usati al posto dellestremo inferiore di ogni intervallo.
label richiede che i valori interi della variabile di raggruppamento siano etichettati con lestremo inferiore degli intervalli. importante ricordarsi che le osservazioni che non sono incluse nellintervallo specificato con lopzione at() risulteranno essere valori mancanti nella nuova variabile categorica creata.

Utilizzo delle variabili create con il comando egen e la funzione cut - 6


Esempi: . . . . bysort bysort bysort bysort agegrp1: agegrp2: agegrp3: agegrp4: sum sum sum sum as_eta as_eta as_eta as_eta

Ricodificare una variabile con il comando egen e la funzione cut - 5

Il comando encode - 1
encode encode string variables into numeric variables

Il comando encode - 2
. encode age_str, generate(age_num)

. label list age_num age_num: 1 2 3 4 a b c d

Il comando decode - 1

Il comando decode - 2
decode encode numeric variables into string variables
. decode age_num, generate(str_age)

STATISTICHE DESCRITTIVE

Statistiche descrittive
La maggior parte dei comandi di STATA ha una sintassi comune:

[prefix varname:] command [varlist] [if exp] [in range][, options]


La parte indicata entro parentesi quadrata opzionale.

Statistiche descrittive: summarize


Nel caso del comando summarize, la sintassi :

[by varname:] summarize [varlist] [if exp] [in range][,[ detail | meanonly] format separator(#)]
detail: produce statistiche aggiuntive meanonly: che mostrata solo quando detail non specificato, sopprime la visualizzazione dei risultati e il calcolo della varianza format: richiede che le statistiche riassuntive siano visualizzate in un certo formato, piuttosto che quello dato di default separator(#): specifica quando inserire le linee di separazione nelloutput. Il default 5.

Statistiche descrittive: summarize


Statistics Summarizes, tables, and tests Summary and descriptive statistics Summary statistics

Compare la seguente finestra:

che consente di ottenere il seguente output:

Se poi si vuole verificare se let media pi alta nei maschi o nelle femmine, allora occorre cliccare su by/if/in:

Se si vuole fare lo split delloutput:

Statistiche descrittive: codebook - 1


Questo comando utile per verificare se una variabile contiene dei valori mancanti. La sintassi :

codebook [varlist] [, all header notes mv tabulate(#) problems detail]


Il comando codebook analizza i nomi delle variabili, le etichette e i dati e produce in output una descrizione del dataset.
all equivalente a specificare le opzioni header e notes: fornisce un report completo, con leccezione delle informazioni fornite da mv. mv fornisce informazioni sui valori mancanti.

Statistiche descrittive: codebook - 2


Header: stampa il nome del dataset e la data dellultimo salvataggio. Notes: stampa le eventuali note aggiunte alle variabili.

Problems: riporta i potenziali problemi presenti nel dataset. Si pu trattare di - variabili etichettate con etichette di valori non definite - variabili con etichette di valori incomplete - variabili che assumono valori costanti - variabili che assumono solo valori missing - variabili definite stringa che contengono dei blank

Statistiche descrittive: codebook - 3


tabulate(#) specifica il numero di valori unici della variabile da usare per determinare se la variabile categorica o continua. I valori mancanti non sono inclusi nel conteggio. Il default 9. Quando ci sono pi di 9 valori unici, la variabile classificata come continua; quando ci sono meno di 9 valori unici, la variabile classificata come categorica.

. codebook med_sex, t(2) . codebook, mv


Per le variabili che codebook ritiene continue, viene calcolata la media, la deviazione standard e i percentili 10, 20, 50, 75 e 90. Per le variabili ritenute categoriche, viene mostrata la distribuzione di frequenza. Quindi se il numero di modalit 9 o minore di 9, codebook mostra una distribuzione di frequenza; altrimenti, vengono calcolate le statistiche descrittive.

Il comando display - 1
Il comando display pu essere usato come una calcolatrice. In realt ha caratteristiche molto pi complesse.

. display sqrt(100)/2
Il risultato pu anche essere visualizzato a colori:

. display as text La radice quadrata di 25 sqrt(25)


Le parole chiave as text e as result determinano i colori del risultato: se lo sfondo nero, as text mostra il testo in verde e as result mostra il risultato delloperazione in giallo.

Il comando display - 2
Dopo alcuni comandi di STATA alcuni dei risultati sono memorizzati cos che questi possono essere richiamati. Per esempio, dopo il comando summarize, STATA mantiene temporaneamente in memoria la media come una macro chiamata r(mean). Ma non solo. Possiamo visualizzare la memoria con il comando return list. . sum as_eta . return list . display r(mean) . sum as_eta, meanonly . display r(mean)

Il comando display - 3
Si pu usare questo risultato per creare una nuova variabile ageDEV, definita come deviazione dalla media: . sum as_eta . gen etaSTD=(as_eta-r(mean))/r(sd) . summ as_eta etaSTD

. egen std_age = std(as_eta), mean(0) std(1) . summ etaSTD std_age

Il comando display - 4
Anche dopo il comando tabulate possiamo visualizzare con return list ci che mantenuto in memoria e che pu essere richiamato. . tabulate as_sesso altrif . return list

DISTRIBUZIONI DI FREQUENZA:
TABELLE SEMPLICI E DOPPIE

Il comando tabulate - 1
Il comando tabulate produce tabelle di frequenza semplici se si usa la sintassi seguente:

tabulate varname [weight] [if exp] [in range] [, options]


Il comando tab1 produce tutte le tabelle semplici delle variabili indicate. tab1 varlist [weight] [if exp]

[in range] [, options]

Il comando tabulate - 2
Statistics Summarizes, tables, & tests Tables One-way tables
Si inserisce la variabile categorica e si scelgono le opzioni ritenute pi opportune:

Il comando tabulate - 3
Il comando tabulate seguito da due variabili crea una tabella doppia: tabulate varname1 varname2 [weight] [if exp] [in range] [, options] La prima variabile indicata costituisce la variabile di riga, e la seconda la variabile di colonna. Inoltre, tab2 produce tutte le tabelle doppie tra le variabili inserite:

tab2 varlist [weight] [if exp] [in range] [, options]

Il comando tabulate - 4
tabulate ha numerose opzioni. Alcune di queste sono le seguenti: all equivale a inserire contemporaneamente le opzioni chi2 lrchi2 gamma taub V. Non tutte queste opzioni sono ugualmente appropriate per una data tabella. gamma e taub assumono che entrambe le variabili abbiano categorie ordinate, mentre chi2, lrchi2 e V no. cell mostra le percentuali totali per ogni cella. row mostra le percentuali di riga. column mostra le percentuali di colonna. chi2 visualizza il risultato del test 2 di Pearson. expected visualizza le frequenze attese sotto lassunzione di indipendenza, in ogni cella della tabella doppia.

Il comando tabulate - 5
Statistics Summarizes, tables, & tests Tables Two-way table with measures of association

Dobbiamo inserire la variabile riga e la variabile colonna indicando i test statistici che si vogliono calcolare e i contenuti delle celle.

Il comando tabulate - 6

Il comando tabulate - 7

Il comando tabulate - 8
Occasionalmente potremmo avere la necessit di analizzare una tabella pubblicata, senza possibilit di accedere ai dati individuali originali. Un comando speciale, tabi (immediate tabulation), ci pu aiutare in questo.

tabi #11 #12 []\#21 #22 [] [, replace tabulate_options]


Le frequenze di ogni riga sono separate da \. Come esempio, riproduciamo la tabella precedente:

. tabi 41 72 \ 341 321, column chi2


Il comando tabi non richiede dati in memoria. Ma aggiungendo lopzione replace, comunque, possibile sostituire i dati inseriti nel comando tabi nelleditor dei dati, sostituendo eventualmente quelli presenti. Le opzioni statistiche sono le stesse del comando tabulate.

Il comando tabulate - 9
Per ottenere tabelle di contingenza multiple, un primo approccio pu essere quello di usare il comando tabulate preceduto dal prefisso by. . by fum, sort: tabulate farmansd sesso, col chi2

Il comando table - 1
Un modo migliore di produrre tabelle a pi vie, se non si ha la necessit di visualizzare le percentuali e di fare test statistici, attraverso il comando table. Tale comando pu essere usato anche per produrre tabelle semplici.

. table rowvar [colvar [supercolvar]] [if exp] [in range] [weight] [,contents(clist) options] dove gli elementi di clist possono essere:
freq mean varname sd varname median varname sum varname count varname frequenza media di una variabile deviazione standard mediana somma n oss. non missing

max varname min varname p1 varname p99 varname iqr varname

massimo minimo 1 percentile 99 percentile range interquartile

Il comando table - 2
Esempi:

. table

as_sesso

. table as_sesso altrif


. table altrif, c(mean as_eta)

. table cardiol, c(mean med_eta)

Il comando table - 3
Statistics Summarizes, tables, & tests Tables Table of summary statistics (table)
Con questo comando si possono ottenere diverse tipi di tabelle.

Possiamo inserire solo la variabile di riga indicando Frequency nel riquadro Statistics

Il comando table - 4
Oppure possiamo inserire solo la variabile di riga indicando, oltre a Frequency nel riquadro Statistics, anche Mean (di altre variabili)

O ancora possiamo inserire sia la variabile di riga che la variabile di colonna indicando solo Frequency nel riquadro Statistics.
E, infine, possiamo inserire sia la variabile di riga che la variabile di colonna indicando, oltre a Frequency, altre statistiche calcolate su altre variabili:

Purtroppo questo comando visualizza la tabella doppia tra due variabili con le sole frequenze assolute. Se siamo interessati alle percentuali e a misure di associazione dobbiamo utilizzare un comando diverso.

Il comando table - 5
Carico il data-set Euroqol . table farmansd sesso, by (fum) row col

Il comando table - 6
. table farmansd sesso, contents(mean value) . table farmansd sesso, contents(mean scala)

Il comando tabstat - 1
Il comando tabstat visualizza, in una sola tabella, statistiche riassuntive per una lista di variabili numeriche. possibile anche condizionare per unaltra variabile, tramite lopzione by(). Senza lopzione by(), tabstat unutile alternativa al comando summarize.

tabstat mostra una maggiore flessibilit sia in termini di statistiche presentate sia in termini di formato della tabella.
La sintassi la seguente:

tabstat varlist [weight] [if exp] [in range] [, statistics(statname[]) by(varname) columns(variables|statistics) nototal ]

Distribuzioni di frequenza: Il comando tabstat - 2


Lopzione statistics(statname[]) specifica le statistiche che devono essere visualizzate; il default equivalente a specificare statistics(mean). Si possono specificare pi statistiche separandole con uno spazio: es. statistics(mean sd). Le statistiche disponibili sono: mean count n sum max min sd variance semean (standard errore della media) range iqr q (equivale a specificare p25 p50 p75) p25 (25 percentile) p50 (50 percentile) p75 (75 percentile) cv (coefficiente di variazione: var/mean2)

Distribuzioni di frequenza: Il comando tabstat 4 Esempi


. . . . . tabstat as_eta tabstat as_eta, s(me sd) tabstat as_eta sum_ddd, s(me sd) c(v) tabstat as_eta sum_ddd, s(me sd) c(s) tabstat as_eta sum_ddd, s(me sd) c(s) by(altrif) . tabstat as_eta sum_ddd, s(me sd) c(v) by(altrif) long . bysort altrif: tabstat as_eta sum_ddd, statistics( mean sd ) by(altrif) columns(variables) longstub

Distribuzioni di frequenza: Il comando tabstat - 5


Statistics Summarizes, tables, & tests Tables Table of summary statistics (tabstat)
Inseriamo la variabile sum_ddd come variabile di interesse e cardiol in Repeat command for groups defined by:

GRAFICI con STATA

INDICE
Grafici con STATA: Istogramma Grafico a barre Box plots

Grafici: Istogramma - 1
Carichiamo il file euroqol.dta. Listogramma pu essere creato con il comando: . histogram varlist Utili opzioni dellistogramma sono: bin(#) disegna un istogramma con # bins (barre). Possiamo specificare bin(#) oppure start(#) e width(#), ma non entrambi. gap(#) mostra uno spazio pari a # tra le barre riducendo la dimensione delle barre. discrete specifica se i dati sono discreti, richiedendo cos una barra per ogni valore di x. norm sovrappone una curva normale allistogramma, basandosi sulla media campionaria e sulla deviazione standard. addlabels aggiunge le etichette alle barre dellistogramma.

Grafici: Istogramma - 2
Per creare un istogramma, dobbiamo cliccare su
Graphics Histogram

Grafici: Istogramma - 3
Esempi:
. histogram eta, frequency title(Figura 1) . histogram eta, start(18) frequency bfcolor(yellow) blcolor(blue)
(bin=28, start=18, width=2.6785714)

. histogram eta, start(18) bfcolor(yellow) blcolor(blue) title(Figura 1, size(tiny) color(red) position(2) justification(center))
(bin=28, start=18, width=2.6785714)

Grafici: Istogramma - 4
. histogram eta, start(18) width(5) frequency bfcolor(yellow) blcolor(blue) xlabel(18 (5) 93)
(bin=15, start=18, width=5)
80 Frequency 0
18

20

40

60

23

28

33

38

43

48

53 58 eta'

63

68

73

78

83

88

93

Grafici: Istogramma - 5
. histogram eta, by (sesso) frequency start(18) width(5) bfcolor(yellow) blcolor(blue)xlabel(18(5)93)
frequency riscala le altezze delle barre in modo che laltezza di ogni barra sia uguale al numero delle osservazioni presenti nella categoria, e pertanto la somma delle altezze uguale al numero totale di osservazioni non mancanti della variabile.
Frequency
maschio
50

f emmina

0
18 23 28 33 38 43 48 53 58 63 68 73 78 83 88 93

10

20

30

40

18 23 28 33 38 43 48 53 58 63 68 73 78 83 88 93

eta'
Graphs by sesso

Grafici: Istogramma - 6
. histogram eta, by (sesso) density start(18) width(5) bfcolor(yellow) blcolor(blue)xlabel(18(5)93)
density riscala le altezze delle barre in modo che la somma delle loro aree sia uguale a 1.
Density
maschio
.03

f emmina

.01 0
18 23 28 33 38 43 48 53 58 63 68 73 78 83 88 93

.02

18 23 28 33 38 43 48 53 58 63 68 73 78 83 88 93

eta'
Graphs by sesso

Grafici: Grafico a barre - 1


Il grafico a barre consente di confrontare statistiche sintetiche come la media, la mediana, la somma o le numerosit. Per ottenere le barre verticali, si pu usare il comando: . graph bar (stat) varlist, over(varlist) Per ottenere le barre orizzontali, si pu usare il comando: . graph hbar (stat) varlist, over(varlist) Il grafico a barre pu visualizzare una qualunque delle statistiche (stat):
mean sd sum count max media: la statistica di default deviazione standard somma numero di osservazioni non missing massimo min median p1 p99 iqr minimo mediana 1 percentile . 99 percentile range interquartile

Grafici: Grafico a barre - 2


. graph bar (mean) value, over(titstud, label(labsize(vsmall))) bar(1, bfcolor(yellow) blcolor(blue)) blabel(bar)

mean of value

.6

blabel lopzione che consente di inserire la media (ovvero la statistica di sintesi richiesta) sopra ogni barra.

.882435 .817756

.890413

.8

.753586

.548464

.2

.4

nessuno

licenza elementare

scuola media inferiore scuola media superiore

laurea

Grafici: Grafico a barre - 3


. graph bar (mean) value, over(titstud, label(labsize(vsmall))) bar(1, bfcolor(yellow) blcolor(blue)) blabel(bar) by(sesso)
maschio
1
.917333 .851056 .80325 .928909 .850947 .769176 .694571 .7104 .855125

f emmina

mean of value

.6

.8

.499762

0
nessuno licenza elementare media scuola media superiorelaurea scuola inferiore

.2

.4

nessuno licenza elementare media scuola media superiore scuola inferiore laurea

Graphs by sesso

Grafici: Grafico a barre - 4


. graph bar (mean) value scalavas, over(titstud, label(labsize(vsmall))) by(sesso ) bar(1, bfcolor(yellow) blcolor(blue)) bar(2, bfcolor(red)) blabel(bar, size(vsmall))
maschio
1
.917333 .851056 .81282 .849298 .928909 .859 .855125 .850947 .816641 .8144 .769176 .750625 .694571 .71427 .7104 .669406 .603333

f emmina

.80325

.6

.8

.509412 .499762

0
nessuno licenza elementare media scuola media superiorelaurea scuola inferiore

.2

.4

nessuno licenza elementare media scuola media superiorelaurea scuola inferiore

mean of value
Graphs by sesso

mean of scalavas

Grafici: Grafico a barre - 5


.graph hbar (mean) value scalavas, over(titstud, label(labsize(vsmall))) by(sesso ) bar(1, bfcolor(yellow) blcolor(blue)) bar(2, bfcolor(red)) blabel(bar, size(vsmall))
maschio
.694571 nessuno .603333 nessuno .509412

f emmina
.499762

.80325 licenza elementare .71427 licenza elementare

.7104 .669406

.851056 scuola media inferiore .81282 scuola media inferiore

.769176 .750625

.917333 scuola media superiore .849298 scuola media superiore

.850947 .816641

.928909 laurea .859 laurea

.855125 .8144

.2

.4

.6

.8

.2

.4

.6

.8

mean of value
Graphs by sesso

mean of scalavas

Grafici: Grafico a barre - 6


Per creare un grafico a barre occorre cliccare su
Graphics Bar Graph

Grafici: Grafico a barre - 7

Grafici: Grafico a barre - 8

Grafici: Grafico a barre - 9

Grafici: Grafico a barre - 10

Grafici: Grafico a barre - 11


maschio
1
.917333 .851056 .80325 .928909 .850947 .769176 .694571 .7104 .855125

f emmina

mean of value

.6

.8

.499762

0
nessuno licenza elementare media scuola media superiorelaurea scuola inferiore

.2

.4

nessuno licenza elementare media scuola media superiore scuola inferiore laurea

Graphs by sesso

Grafici: Box Plot - 1


Il grafico box plot fornisce informazioni relative alla simmetria, alla variabilit distributiva e alla presenza di outliers. Per ottenere un singolo box plot si usa il comando:

. graph box y
Se variabili differenti presentano la stessa scala o scale simili, si possono visualizzare contemporaneamente le loro distribuzioni per un confronto, usando il comando:

. graph box varlist


Una delle applicazioni pi comuni dei box plot riguarda il confronto della distribuzione di una variabile rispetto alle categorie di una seconda variabile.

Grafici: Box Plot - 2


. graph box scala, medtype(line) over(titstud, label(labsize(vsmall))) box(1, bfcolor(blue))
100 scala vas 0 20 40 60 80

nessuno

licenza elementare

scuola media inferiore scuola media superiore

laurea

Grafici: Box Plot - 3


. graph hbox scala, medtype(line) over(titstud, label(labsize(vsmall))) box(1, bfcolor(blue))

nessuno

licenza elementare

scuola media inferiore

scuola media superiore

laurea

20

40 scala vas

60

80

100