03/04/20151 Introduzione a Stata DMQTE Pescara 2008 Level: Beginners Stata/SE v.10.0.
-
Upload
petronel-marini -
Category
Documents
-
view
219 -
download
2
Transcript of 03/04/20151 Introduzione a Stata DMQTE Pescara 2008 Level: Beginners Stata/SE v.10.0.
11/04/23 1
Introduzione a Stata
DMQTE Pescara2008Level: Beginners
Stata/SE v.10.0
11/04/23 2
Educational 1- Conoscere STATA
- Leggere i dati
Educational 2- Organizzare e gestire i dati
11/04/23 3
EDUCATIONAL 1(Conoscere STATA e leggere i dati)
11/04/23 4
Educational 1: Indice1. Come appare
2. Help
3. Directories e Cartelle
4. Leggere dati in Stata
5. Variabili e data types
6. Esplorare i dati
7. Salvare il dataset
8. Tips & Tricks
9. Esempio
11/04/23 5
1.Come AppareReview window:
Mostra gli ultimi comandi digitati.Cliccando su tali comandi essi vengono inseriti nella Command window
Variable window:Mostra la lista delle varibili.Cliccando sulla variabile apparirà nella Command window
Command window:In essa vengono digitati i comandi che sono immediatamente eseguibili
Output window:Mostra risultati e informazioni sulle operazioni effettuate.
11/04/23 6
Stata è un pacchetto command-driven. Ha molti comandi built-in che possono rendere facile complicati lavori di routine. Vi è anche la possibilità di creare propri comandi per eseguire routine personalizzate.
È possibile inserire i comandi in due modi: Interattivo: digitare il comando e eseguirlo (<Return> o <Invio>) do-file: digitare un elenco di comandi in un "do-file" (essenzialmente un programma) e fare eseguire il file.
11/04/23 7
2.Help
In-built help:Stata ha una versione abbreviata dei suoi manuali built-in. Fare clic su Help->Contents. Una sezione FAQ molto utile si trova in http://www.stata.com/support/faqs/Sia il built-in di aiuto che le FAQs possono essere simultaneamente ricercate all'interno di Stata stesso (Help->Search).
11/04/23 8
3.Directories e Cartelle
Come DOS e Windows, Stata è in grado di organizzare i files in una directory ad albero con le diverse cartelle. Ad esempio, si può creare una cartella "dati" per contenere tutti i dati da utilizzare, sotto-cartelle per ogni set di dati e così via. È possibile utilizzare alcuni comandi simili al DOS, tra cui:
11/04/23 9
cd “h:\” cambia la directory al volume h mkdir “dati”crea una nuova directory “h:\dati” all'interno di quella corrente direlenco contenuto di una directory o di una cartella
N.B.Stata è case-sensitive per cui non riconosce il comando CD o cd allo stesso modo. Inoltre, le virgolette sono necessarie solo se la directory o il nome della cartella contiene degli spazi.
11/04/23 10
4.Leggere dati in Stata
Ci sono diversi comandi di lettura dati in Stata: Inserimento manuale: digitando edit nella command window appare la finestra data-editor; quindi si può procedere all’inserimento manuale dei dati usePermette di aprire files del formato Stata (.dta) ad esempio use “h:\nomefile.dta”
11/04/23 11
insheet usingSe i dati sono riportati su un foglio elettronico, salvandoli in formato .csv o .txt è possibile accedere ai dati con insheet using “h:\nomefile.csv”
N.B. confronta options (help options): ad es. insheet using “h:\nomefile.csv”, delimiter(";") clear
infile var1 var2 … using
Se i dati provengono da un'altra fonte, come internet o qualche insolito pacchetto software, è possibile leggere in Stata un file di testo ASCII .txt o .asc con il comandoinfile var1 var2 … using “h:\nomefile.txt”
11/04/23 12
Alcune regole da seguire per la lettura dei dati:
• dati grezzi ASCII o .txt dovrebbero contenere solo i dati e non i nomi delle variabili. Questo è il motivo per cui si assegnano manualmente i nomi delle variabili all'interno del comando infile. Stata riconosce lo spazio come separatore tra una variabile e l’altra.
• i valori mancanti non possono essere lasciati in bianco e devono essere rappresentati da qualcosa ( ad es. un punto).
11/04/23 13
• i nomi con spazi nel testo devono essere racchiusi tra virgolette; ad es., dati grezzi del tipo country / sector / output dovrebbero apparire come:Japan Servizi 3824553 “United Kingdom" Agricoltura 36127 Germany Servizi 84657991
• i numeri possono avere il segno “-”, ma si eviti la virgola, il segno “$” e il segno “%”.
11/04/23 14
• Le variabili stringhe devono essere definite attraverso il comando str?? (dove al posto ?? occorre inserire un numero cheindica la lunghezza delle modalità); ad es., dati grezzi del tipo country / sector / output dovrebbero apparire come:Japan Servizi 3824553 “United Kingdom" Agricoltura 36127 Germany Servizi 84657991
In questo caso il comando sarà:infile str15 country str15 sector output using “h:\nomefile.txt”
11/04/23 15
• Per dati da .csv la prima riga del foglio di calcolo deve avere i nomi delle variabili, ad esempio, country/sector/ output, e la seconda riga in poi deve avere i dati. Se la prima riga del file contiene un titolo, come ad esempio "Dati output 2008 - Fonte: Eurostat", bisogna cancellare la riga prima di salvare.
• ulteriori caselle di seguito o alla destra dei dati (ad esempio, note a piè di pagina) vengono letti da Stata; quindi, assicurarsi che sul foglio ci siano solo la prima riga dei nomi delle variabili e i dati.
11/04/23 16
• i nomi delle variabili non possono iniziare con un numero. Se, invece della variabile sector, il file è stato allestito con gli anni (ad esempio, 1980, 1985, 1990, 1995) sulla riga superiore, allora di fronte a ogni numero si dovrà porre un “_”: così “1980” diventa “_1980”, e così via.
• assicurarsi che non vi siano le virgole nei dati come separatori decimali
11/04/23 17
5.Variabili e data types Variabili e data-pointsDal data editor è possibile visualizzare il data set. Ad esempio:
country sector output employ
Germany Agriculture 50757 489
Germany Mining 16472 141
Germany Manufacturing 1256545 7780
Germany Services 2065795 22373
Japan Agriculture 119190 858
Japan Mining 14049 68
Japan Manufacturing 2437884 13303
Japan Services 3824553 35862
United Kingdom Agriculture 36127 298
United Kingdom Mining 38077 76
United Kingdom Manufacturing 667982 4140
United Kingdom Services 1680452 17938
United States Agriculture 279109 2182
United States Mining 166611 595
United States Manufacturing 3971052 18922
United States Services 9798825 105106
Ogni riga del data set costituisce un data-point
Ogni colonna del data-set rappresenta una variabile
11/04/23 18
Numeric o string dataStata organizza i dati in numeric o string.
Il tipo numeric riguarda numeri (ad esempio, la produzione, l'occupazione)
il tipo string è relativo a testo (ad esempio, nome del paese). Il tipo string può anche essere utilizzato per memorizzare numeri, ma Stata non sarà in grado di eseguire analisi numerica su questi numeri.
11/04/23 19
• Il tipo string è forse più semplice poiché qualsiasi variabile può essere definita come una stringa e può contenere fino a 80 caratteri.
Il tipo string, però, non permette di effettuare elaborazioni numeriche per cui spesso si usa effettuare delle codifiche.
Ad es., la variabile sector potrebbe essere una variabile stringa di testo (Agricoltura, Industria mineraria, Manifattura, Servizi), ma le sue osservazioni sono in realtà memorizzate come un codice numerico (1 per l'Agricoltura, 2 per Mineraria, 3 per Manifattura 4 per i Servizi).
11/04/23 20
Questo modo di procedere è molto in uso; tuttavia, esso può dare adito a possibili problemi di arrotondamento. Ad es., avendo un codice ID di 9 cifre di tipo float, che è accurato solo fino a 8 cifre, si possono verificare situazioni in cui i diversi codici ID siano arrotondati. Tutto ciò crea delle imprecisioni nella codifica.
11/04/23 21
I diversi formati del tipo numeric sono:- Byte: numeri interi compresi tra -127 e 100
ad es. una variabile dummy- Int: numeri interi compresi tra -32767 e
32740 ad es., anni di calendario- Long: intero compreso tra -2147483647 e
2147483620 ad esempio, I dati demografici- Float: numero reale con circa 7 cifre di
precisione ad esempio, dati sulla Produzione
- Double: numero reale con circa 16 cifre di precisione
11/04/23 22
Compressione dati
L’archiviazione di dati in formato numeric avviene attraverso il metodo binario (sequenze di 0 e 1).
Ciò implica che si tende ad occupare parecchio spazio sulle memorie fisiche del PC;
11/04/23 23
Anche per le variabili di tipo string spesso è possibile porsi il problema della quantità di dati.
Ad es., se si considera la variabile country “United Kingdom" con 14 lettere (compresi gli spazi) si può pensare di ridurre spazio indicando il paese con “UK” (di 2 lettere).
11/04/23 24
Inoltre, in Stata il tipo numeric predefinito è float. Tuttavia, per una maggiore accuartezza spesso si preferisce utilizzare il tipo double.
Però, rendere tutte le variabili numeriche di tipo double implica anche maggiori quantità di dati da trattare; questa strategia può rendere i files molto pesanti e quindi richiedere molto spazio sulle memorie fisiche, rallentando i tempi di elaborazione.
11/04/23 25
Allora, un modo veloce per memorizzare le variabili nel loro formato più efficiente è quello di comprimere i dati con il comando compress.
Tramite questo comando Stata passa attraverso ogni osservazione di una variabile e ottimizza il rapporto spazio-formato senza sacrificare l'attuale livello di precisione nei dati. Ad es. digitando il comando compress nella command window, avremo nella output window un risultato del tipo: . compress
sector was int now byte
country was str20 now str14
11/04/23 26
È possibile definire in fase di caricamento dati il tipo relativo alle variabili.Ad esempio,infile str14 country byte sector long output
Tramite questo comando formattiamo la variabile country come stringa di 14 caratteri, la variabile sector come byte e la variabile output come long
11/04/23 27
Missing valuesI valori mancanti di tipo numeric sono
identificati da un unico punto (.), mentre i valori mancanti di tipo string sono identificati da due virgolette ("").
11/04/23 28
6.Esplorare i dati
Possono essere utilizzati i seguenti comandi:
ListPermette di visualizzare una, più di una o tutte le variabili e i corrispondenti valori (stringhe o numeri) di output delle variabili.
11/04/23 29
Ad es. digitando list si ottiene la lista di tutte le variabili, mentrelist country sector outputrestituisce sulla output window:
. list country sector outputcountry sector output
1. Germany Agriculture 507572. Germany Mining
164723. Germany Manufacturing
12565454. Germany Services 20657955. Japan Agriculture 1191906. Japan Mining 140497. Japan Manufacturing 24378848. Japan Services 38245539. United Kingdom Agriculture 3612710. United Kingdom Mining 3807711. United Kingdom Manufacturing 66798212. United Kingdom Services
168045213. United States Agriculture 27910914. United States Mining 1666115. United States Manufacturing
397105216. United States Services 9798825
11/04/23 30
mentre,list in 1/5
restituisce nella output window. list in 1/5
country sector output
1. Germany Agriculture 50757
2. Germany Mining 16472
3. Germany Manufacturing 1256545
4. Germany Services 2065795
5. Japan Agriculture 119190
11/04/23 31
describe (describe var1 var2 …)
Questo comando mostra informazioni sul data set e su una più o tutte le variabili.
. describeContains data from h:\production.dta obs: 16 1998 data from OECD Stan vars: 4 11 Oct 2002 13:24 size: 544 (100.0% of memory free)---------------------------------------------------------------------------- storage display valuevariable name type format label variable label----------------------------------------------------------------------------country str14 %14s Countrysector byte %13.0g sectcode Industrial sectoroutput float %9.0g Gross output (current USD mill)employ long %12.0g Number of employees, thousands----------------------------------------------------------------------------
11/04/23 32
codebook (codebook var1 var2 …)
Questo comando fornisce, per il data set caricato, altre informazioni sulla variabile, come alcune statistiche descrittive, missing values, range etc.
11/04/23 33
summarize (o anche sum)Questo comando fornisce: numerosità delle osservazioni, media, std, min e max.Se si desiderano queste statistiche per specifiche variabilisummarize var1 var2 …
Se si desiderano ulteriori dettagli si usa detail
summarize var1 … vark, detail
11/04/23 34
inspect (inspect var1 var2 …)Il comando inspect riassume rapidamente una variabile numerica; il comando differisce da quello fornito da summarize, perchè riporta il numero di valori negativi, nulli, positivi, il numero di interi e non interi, il numero di valori unici e il numero di valori mancanti e produce, inoltre, un piccolo istogramma. Il suo scopo non è di analisi, ma è quella di acquisire rapidamente familiarità con i dati.
11/04/23 35
tabulate var1
Permette di costruire la tavola di frequenza della variabile var1.tabulate var1 var2
Permette di costruire la tavola di frequenza doppia per le variabili var1 e var2tabulate var1 var2, chi2
Calcola anche il chi2 di Pearson
11/04/23 36
hist var1Permette di rappresentare l’istogramma per la variabile var1.
hist var1, start(0.5) width(0.5)Permette di rappresentare l’istogramma per la variabile var1, con valore iniziale 0.5 e passo delle ascisse pari a 0.5
11/04/23 37
scatter var1 var2Restituisce una rappresentazione bidimensionale per le variabili var1 e var2.
scatter var1 var2, by(var3)
Per rappresentare una matrice di scatterplots rispetto alla variabile var3
11/04/23 38
7.Salvare il dataset
save
Permette il salvataggio del data set. Ad es.save “h:\nomefile.dta”, replace
dove l’opzione replace sovrascrive ogni precedente versione del file con lo stesso nome presente nella directory di riferimento.
11/04/23 39
8.Tips & Tricks Do-files (.do)È molto comodo salvare la sequenza di comandi inseriti nella command-window nei c.d. Do-files (.do); tali files possono essere richiamati per eseguire la sequenza di comandi in essi contenuta. Per aprire un nuovo Do-file Ctrl+8Per richiamare un do-file dalla command windowdo“h:\nomefile.do“ In Stata la sintassi dei comandi segue uno schema comune del tiponome_comando oggetto_comando, optionsAd es.save “h:\nomefile.dta”, replace
11/04/23 40
Esempio. do-files (.do)
/*apriamo e elenchiamo il file .dta*/
clear all
use c:\dati\esempio.dta
list
/*informazioni sul data-set e grafici*/
codebook
hist output, name(g1)
scatter output sector, by(country) name(g2)
11/04/23 41
Leggere dati da un foglio elettronicoUna volta aperto il foglio elettronico (ad es. .xls) copiare i dati di interesse e incollare su un nuovo foglio solo i dati (e non le formule), quindi copiare tutto il nuovo foglio. Infine, digitare edit sul command window di Stata e incollare i dati sul data editor che appare. clearIl comando clear permette di cancellare tutti i data set caricati. Può essere utilizzato come option nei vari comandi; ad esempiouse “h:\nomefile.dta”, clear
Apre il file nomefile.dta e elimina i dati già caricati in Stata
11/04/23 42
Quando si digitano i comandi che coinvolgono le variabili di tipo string, è necessario racchiudere l'osservazione di riferimento tra virgolette altrimenti Stata non è in grado di individuare le operazioni da effettuare. Ad es.
summarize if country==“Germany”
summarize if sector==1
Lookfor var1 …
Permette di individuare le etichette delle variabili
11/04/23 43
9.Esempio- Digitare sysuse dir- Aprire un file .dta (ad esempio census)
con il comando use oppure con sysuse census
- Procedere alle eleborazioni
11/04/23 44
EDUCATIONAL 2(Organizzare e gestire i dati)
11/04/23 45
Educational 2: Indice
1. Organizzare i dati
2. Creare nuove variabili
3. Tenere traccia delle istruzioni
11/04/23 46
1.Organizzare i datiPer l’organizzazione dei dati sono utili i seguenti comandi: rename recode replace keep e drop so by-processing reshape append e merge collapse moveVediamoli in particolare.
11/04/23 47
rename
Spesso può essere utile rinominare le variabili; Ad. Es.ren isocode country
ren yr year
Bisogna sottolineare che è possibile rinominare una sola variabile alla volta
11/04/23 48
recodeÈ possibile ricodificare i valori raggiunti da una varibile Ad. Es.
recode year (1950=1940) Possono essere ricodificate più variabili alla volta.Ad es. per missing values indicati nel data set con -999 si può sostituire il punto “.”
recode pop output (-999=.)Questo comando non è utilizzabile per le variabili stringa che invece utilizzano il comando replace
11/04/23 49
replacePer le variabili stringa è possibile effettuare una ricodifica usando una sintassi del tipo
generate country2=country
recast str18 country2
replace country2=“Japan” if country==“J”
11/04/23 50
keepIl data set può contenere alcuni variabili che non interessano ai fini del nostro studio. Pertanto, è possibile estrarre solo le variabili obiettivo. Ad. es. dal nostro data set volendo studiare la relazione tra output e settore possiamo considerare solamente queste due variabilli
keep output sectorIn questo modo la variabile country non viene presa in considerazione.
11/04/23 51
dropÈ il comando complementare al keep.
Ad. es. dal nostro data volendo studiare la relazione tra output e settore possiamo considerare solamente queste due variabilli scartando la variabile country
drop country
11/04/23 52
Keep e dropSia per il keep che per il drop è molto utile il “-”.Infatti keep country-output considera tutte le varibili tra le due indicate ossia country sector output. Allo stesso modo vale per il drop.
Inoltre, sia il keep che per il drop possono essere utilizzati sulle osservazioni. Ad es.keep if output>=16000 che equivale adrop if output<16000
11/04/23 53
Keep e dropOppure utilizzare diversi operatori logici e di relazione. Ad es.keep if year>=1960 & year<=1995
Nota. In Stata ci sono i seguenti operatori logici& and| or~ note di relazione == equal to ~= not equal to > greater than >= greater than or equal to < less than <= less than or equal to
11/04/23 54
Keep e dropSe si conosce il numero di riga o colonna su cui applicare i comandi; ad esempio per eliminare le righe da 1 a 10
drop if _n<=10
o anche
Keep if _n>10
11/04/23 55
so Il comando effettua l’ordinamento (sort) dei dati secondo certi criteri. Ad es.
so country outputEffettua l’ordinamento crescente prima secondo la variabile country e poi secondo la variabile outputPer l’ordinamento decrescente
gsort -country output
11/04/23 56
byPermette di eseguire iterativamente un comando per differenti sottinsiemi del data-set. Ad es.
so sectorby sector: sum outputChe equivale alla seguente sequenza di comandi
sum output if sector=1sum output if sector=2sum output if sector=3sum output if sector=4Pertanto, il by è da utilizzare sempre dopo un ordinamento.
11/04/23 57
reshapePermette di fare il ridimensionamento della tabella dati. Ad es.reshape wide output, i(country) j(sector)
Trasforma la nostra tabella 1 in 2
1country sector output
1. D Agriculture 507572. D Mining 164723. D Manufacturing
12565454. D Services 20657955. J Agriculture 1191906. J Mining 140497. J Manufacturing 24378848. J Services 38245539. UK Agriculture 3612710. UK Mining 3807711. UK Manufacturing 66798212. UK Services 168045213. USA Agriculture 27910914. USA Mining 1666115. USA Manufacturing 397105216. USA Services 9798825
2country output1 output2 output3 output4 1. D 50757 16472 1256545 2065795 2. J 119190 14049 2437884 3824553 3. UK 36127 38077 667982 1680452 4. USA 279109 16661 3971052 9798825
11/04/23 58
append e mergeÈ possibile combinare differenti datasets in un
unico dataset aggiungendo:1. altre osservazioni (per riga)
append using “f:\nomefile.dta”2. Altre variabili (per colonna)use “c:\dati\esempiomerge1.dta”, clear
so country year
save “c:\dati\esempiomerge1.dta”, replace
use “c:\dati\esempiomerge2.dta”, clear
so country year
merge country year using “c:\dati\esempiomerge1.dta”
11/04/23 59
collapseÈ possibile aggregare come dataset di statistiche (sum, mean, median etc.) le osservazioni relative a una o più variabili. Ad es. quando si vogliono aggregare dati mensili in annuali.
collapse (sum) month, by(country)
ren month year
Il ren ci rinomina la variabile month
11/04/23 60
collapseEsempio 1.Aggregare i livelli di output per ottenere il livello complessivo di ogni paesecollapse (sum) output, by(country)
Esempio 2.Aggregare i livelli di output per ottenere il livello medio di ogni paesecollapse (mean) output, by(country)
11/04/23 61
moveQuesto comando permette di effettuare un cambiamento di ordine nella lista delle variabili. Ad es.move output country
Sposta in alto la variabile output appena dopo la variabile country.
11/04/23 62
FINE