La lecture en ligne est gratuite
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Partagez cette publication

Vous aimerez aussi

Stata Tutorial Daniela Vuri Economia e Politica del Lavoro
STATA TUTORIAL Daniela Vuri (Università di Firenze) vuri@cce.unifi.itFebbraio-Maggio 2004
Argomenti delle lezioni1. Primi passi con STATA 2. La documentazione di STATA 3. Variabili e osservazioni 4. Inserire i dati in STATA 5. Alcuni comandi di STATA 6. Statistiche descrittive 7. Lavorare interattivamente in STATA 8. Iniziare a costruire un do-file 9. Manipolazione dei dati 10. Modello di regressione lineare ed alcune estensioni
1
Stata Tutorial Daniela Vuri Economia e Politica del Lavoro 1 PRIMI PASSI CON STATA 1.1 Dove trovare STATA e i dati da utilizzare Dopo aver acceso il computer e aperto Esplora Risorse, cercate con il comando find wstata.exe e cliccate due volte. In questo modo, si aprirà STATA. Consiglio poi di creare unicona sul desktop in modo da poter cliccare direttamente sullicona di STATA. I dati sono stati inseriti invece nella directory:c:/corso lavoro/dati. Per il momento a noi _ interessa guardare semplicemente il file eserc.xls che è inc:/corso lavoro/dati(e in formato excel). _ 1.2 Uscire da STATA Per uscire da STATA, si puo scrivereexitnella finestra STATA COMMAND. Altrimenti si puo cliccare su Exit dal menu FILE. Se vuoi uscire da STATA ma ci sono dati in memoria che non sono stati salvati (hai fatto alcune operazioni prima), devi digitareexit,clear1.3 Le finestre di STATA e la barra degli strumenti Le finestre di STATA sono 4: la finestra STATA COMMAND, dove i comandi vengono digitati e mandati in esecuzione semplicemente premendoinviodopo averli scritti; la finestra STATA RESULTS, dove appaiono i risultati; la finestra REVIEW dove sono scritti tutti i comandi digitati fino a quel momento; e la finestra VARIABLES dove cè una lista di variabili contenute nel dataset che state utilizzando. La barra degli strumenti contiene 12 icone:  open, per aprire un dataset di STATA  save, per salvare su disco il dataset che stai utilizzando  print, per stampare un grafico o i risultati ottenuti   per iniziare un nuovo log, aggiungerlo ad uno già esistente o fermare quello correnteopen log,  start viewer  bring results Window to front (portare la finestra Results di fronte alle altre finestre di STATA)  bring graph Window to front (portare la finestra Graph di fronte alle altre finestre di STATA)  si scrivono i comandi per poterli poi eseguire tutti insieme)Do-File Editor (apre il Do-file editor dove  Data Editor (apre il data editor, dove puoi inserire manualmente i tuoi dati )  Data Browser (dove i dati appaiono)  Clear-more-Condition (dice a Stata di proseguire anche quando si è fermato a causa di un lungo output)  a stata di mostrare una lista di tutte le osservazioni,Break (ferma cio che sta facendo STATA; per es. hai chiesto ma ti accorgi che sono milioni e vuoi interrompere il lavoro di STATA! 1.4 Allocare memoria a STATA Generalmente STATA da 10.10 Mb di memoria. Per espanderla, basta scrivere nella finestra COMMAND set memory 50m, m sta per MegaByte. Qualora non sia sufficiente per i tuoi dati, sarà lo stesso STATA a dire no room to add more observations. E allora basterà aggiungere più memoria compatibilmente con il PC usato.
2
Stata Tutorial Daniela Vuri Economia e Politica del Lavoro 2. LA DOCUMENTAZIONE DI STATA La maggior parte della documentazione in STATA viene dall Help Menu, dai Reference Manuals, dalla Users Guide e dalle FAQ (frequently asked questions inhttp://www.statmoc.a) 2.1 Il sistema di HELP Lhelp on line può essere usato cliccando su HELP dal FILE menu. Selezionando CONTENTS si apre la lista di argomenti dellHelp-on-line. Se invece si seleziona SEARCH e si inserisce una keyword (parola chiave), STATA fa una ricerca in tale lista tramite la keyword. LHELP può essere usato anche dalla finestra COMMAND, scrivendohelp keywordoppurelookup keyword. 2.2 Tutorials (non più disponibile in Stata 8) Stata fornisce dei tutorials sui seguenti argomenti: introduzione a STATA, inserimento di dati, grafici, tabelle, regressioni, ANOVA, logit, analisi survival, modelli a componenti principali. I tutorials sono disponibili digitando:tutorial intro una introduzione a STATA), (per tutorial graphics fare i grafici), (pertutorial tables (per fare tabelle), tutorial regress stimare modelli di regressione), (pertutorial anova, tutorial logit, tutorial survival, tutorial factor, tutorial ourdata (per descrivere i dati che STATA fornisce),tutorial yourdata (per insegnare come inserire i propri dati) nella finestra COMMAND 3 VARIABILI E OSSERVAZIONI In Stata, le variabili sono associate con le colonne di una matrice di dati, e le osservazioni con le righe 3.1 Variabili Le variabili possono essere alfanumeriche (stringhe) o numeriche (numeri reali). Le variabili sono chiamate con il loro nome, che puo contenere anche numeri, ma non spazi. Si puo cambiare il nome delle variabili usando il comandorename:rename x y significa cambiare il nome della variabile da x a y. Automaticamente STATA assegna un certo spazio alle variabili. Scrivendocompress ordina a STATA di utilizzare lo spazio in maniera efficiente si (molto utile prima di salvare un dataset su cui si è lavorato creando molte variabili) 3.2 Osservazioni Le osservazioni corrispondono alle righe della matrice di dati.
3
Stata Tutorial Daniela Vuri Economia e Politica del Lavoro 4 INSERIRE I DATI IN STATA I dati possono essere inseriti usando il data editor, oppure da un file ASCII (word, notepad, ecc.) 4.1 Inserire i dati dallEDITOR (tramite tastiera) Iniziamo con il cliccare su DATA EDITOR sulla barra degli strumenti di STATA. Non è altro che un foglio di excel (molto simile) dove per riga ci sono le osservazioni e per colonna ci sono le variabili. I dati inseriti possono essere modificati semplicemente scegliendo la cella. Il DATA Editor chiama le variabili inizialmente con var1, var2 etc, ma possono essere cambiate cliccando due volte sullintestazione della colonna (per es. su var1) in modo tale che appaia lo STATA VARIABLE INFORMATION dove poter inserire il nome desiderato. ALLA PROVA allora!!! 1. Clicca sull’icona DATA EDITOR (4 pulsante da destra in alto) 2. Da sinistra a destra inserire i seguenti numeri (aiutati con l’invio e le freccette sulla tastiera per spostarti): 1 2 3 4 5 6 7 8 9 3. Doppio click su var1 e sostituisci var1 con a; fai lo stesso con var2 e metti al suo posto b, lo stesso con var3 e chiamala c 4. Chiudi il data editor (x in alto a destra) in modo da tornare alla finestra Stata Command _ 5. Scrivi save c:/corso lavoro/mydata/one.dta, replace (fra poco capirai anche questo comando) *ricordati che hai messo i dati in questa directory chiamata mydata 4.2 Usare dati già esistenti in formato ASCII (o text)
4.2.1 Infile (estensione con .txt oppure .asc) Il comando infile è uno dei più usati per dati che siano in formato libero o comma-separated La sintassi base è la seguente: infilevarlistusingfilename[, clear] dovevarlist una lista di nomi di variabili (varname1 varname2), èfilename è il nome del file che si vuole trasformare (incluso il percorso per trovarlo), eclear è unopzione che pulisce dati eventualmente in memoria che non sono stati salvati. Se non viene messa unestenzione si assume che essa sia.raw.Infile molto utile se hai è scaricato dei dati dal web e sono conformi a queste specifiche:  il file non ha nomi di variabili sulla prima linea  le variabili che hanno spazi al loro interno, come per esempio nome e cognome di una persona, devono essere racchiusi tra virgolette i numeri possono avere virgole e segni negativi, ma non dollari o segni di percentuale   infile assume che le variabili abbiano spazi tra di loro e che non ci siano spazi bianchi quando si aspetta dei dati (percio i valori di missing devono essere rappresentati in qualche modo).
4
Stata Tutorial Daniela Vuri Economia e Politica del Lavoro Molto spesso pero la cosa più conveniente da fare e portare un file in Excel, salvarlo con lestensione csv e poi usareinsheetInoltre puoi usare il comandoinfile leggere dati che contengono molte variabili o per record multipli per osservazione, oppure in generale quando vuoi leggere dati salvati in un formato particolare. Nel nostro caso abbiamo dati in excel che sonoperaams-cmoedat.4.2.2 Insheet (estensione con .csv) Questo comando legge dati che sono organizzati nel modo seguente:i) osservazioni sono le per riga;ii) le variabili nelle colonne;iii) i valori delle variabili sono separati da una tabulazione o da virgole ma non da spazi. In questo caso, è necessario rinominare il file ASCII in modo che abbia lestensione.rawe poi usare il comandoinsheet. In molti casi il modo più conveniente in cui leggere i dati è aprire il file in Excel e salvarlo con lestensione.cvse poi usare il comandoinsheet. La sintassi di base è: insheet usingfilename[, clear] Andiamo in excel e creiamo il fileexerc.cvs salviamolo (cambiare semplicemente e lestensione non è sufficiente). Poi torniamo in STATA e nella finestra COMMAND scriviamo:insheet using c:/corso lavoro/dati/eserc.csv,clear _ _ save c:/corso lavoro/dati/eserc.dta,replace A questo punto abbiamo i dati pronti in formato DTA, che non è altro che il formato dei dati in STATA. Il comandoinsheetda un foglio di lavoro (come quello di molto utile per leggere dati  è Excel). Anche in questo caso ci sono alcuni requisiti da soddisfare:  La prima linea dovrebbe avere i nomi delle variabili e dalla seconda linea dovrebbero iniziare i dati  I dati numerici mancanti dovrebbero essere codificati come celle vuote, e non con spazi, punti, o altri dati numerici. Spesso vengono usati i valori 9, 99, 999. Questo è lecito purchè questi non siano valori validi per quella variabile.  Le virgole sono problematiche perchè Stata pensa che siano dei delimitatori e non li legge in modo corretto. Percio è necessario rimuovere le virgole dai valori numerici prima di salvare il file. Il file deve essere salvato in formato comma separated values in Excel. Non basta dare  unestensione .cvs. Devi cliccare su File poi Save as e poi scegliere comma separated values. Quando chiudi il foglio di lavoro ed Excel ti chiede di salvare i cambiamenti bisogna rispondere No, perchè Excel sta chiedendo di fare i cambiamenti per rendere il foglio di lavoro nuovamente un foglio regolare di Excel
5
Stata Tutorial Daniela Vuri Economia e Politica del Lavoro 4.2.3 Dictionary Se invece i dati sono in formato fisso, è necessario usare un dictionary (dct). Un dictionary non è altro che un file ASCII (testo) che descrive il contenuto di un file di dati e permette di leggere i file in formato fisso o formato libero. I dati possono essere nello stesso file del dictionary o in un altro file. La sintassi di base è: infilefilename[, using (filename2) clear] dovefilenameè il nome del file dictionary efilename2è il nome del file che contiene i dati. Se lopzioneusing ()non è specificata, si assume che i dati seguano il dictionary in filename, o se il dictionary specifica il nome di un altro file, questo file si assume contenga i dati. La sintassi di base di un dictionary file è la seguente: ------ top of the dictionary file-------------------[infile] dictionary [using filename]{ [type] varname } (dai vengono inseriti qui) ------------------ fine del dictionary file----------Qui di seguito riporto un esempio possibile di file dictionary. Si scrivono le righe successive in un qualsiasi programma di testo (word). ___________________________________________________________________________ dictionary using e:\fss98~10.fil { _ column(1) ril %2f "rilevazione" column(3) anno %4f "anno" _ column(7) ProgFam %6f "progressivo family" _ column(13) nordcomp %2f "Num ordine componente" _ _ column(15) ncomp %2f "numero comp family" _ column(17) age %3f "eta" _ column(20) relpar %2f "relazione parent" _ column(23) sex %1f "sesso" }
il file dictionary puo essere scritto in un qualsiasi text editor ma deve essere salvato con lestensione .dct. Per esempio potremmo salvarlo comeprova.dct e poi infile using prova.dct In particolare, il dizionario inizia con le paroledictionary using, che definisce il file come un dizionario di STATA. Il nome del file che contiene i dati appare dopo la parola using (nel nostro casofss98~10.fil).
6
Stata Tutorial Daniela Vuri Economia e Politica del Lavoro 4.2.4 Infix Se i dati sono in formato fisso per colonna, il comandoinfixpuo essere usato. La sintassi di base è: infix using filename[, using (filename2) clear] dove filename è il nome di un file dictionary e filename2 è il nome del file contenente i dati 4.3 Usare un dataset in formato STATA e salvare i dati Tutti i file di dati in formato Stata hanno unestenzione .dta dati possono essere aperti usando il. I comandouse use:è il comandoper aprire dati che sono stati precedentementi salvati in formato STATA. La sua sintassi è usefilename  usefilename, clear dove al posto di filename si mette il nome desiderato. Nella prima forma,use filenamedice di scaricare i dati, ma STATA rifiuterà se: 1. cè già qualcosa in memoria 2. qualcosa non è stata salvata su disco La seconda forma (use filename, clear) invece dice a Stata di scaricare i dati COMUNQUE, anche se qualcosa prima non è stato salvato. Proviamo: use c:/corso lavoro/dati/eserc.dta,clear _ Alternativamente, puoi cliccare suFilee poiOpene qui clicca sueserc.dtanella directory: c:/corso lavoro/dati/_  save: il comando save ha la seguente sintassi:  savefilename  savefilename, replace senza lopzionereplace, il file non deve già esistere; nel caso in cui esista già Stata rifiuterà di scrivere sopra di esso. Con lopzionereplace invece, il file può esistere o no. Se il file esiste, esso verrà sovrascritto. Useremo di nuovo questo comando fra poco!!!
7
Stata Tutorial Daniela Vuri Economia e Politica del Lavoro 5. ALCUNI COMANDI A questo punto apriamo il fileeserc.dtacosa da fare quando si guarda per la prima. La prima volta un dataset è studiare le variabili presenti. Perciò guardiamo il significato delle variabili nel dataset (vedi fogli allegati oppure il file eserc.doc). Dopo una lettura attenta, passiamo a manipolare ed analizzare questi dati. Di seguito introduciamo brevemente la sintassi generale valida per tutti i comandi. 5.1 Sintassi generale I comandi di Stata rientrano in due ampie categorie: 1. comandi che riportano informazioni sui dati, per esempiodescribe, list, summarize, tab2. comandi che cambiano i dati:keep, drop, generateMolti comandi hanno una sintassi comune che possiamo scrivere come: [by varlist:] command varlistifexpinrange Di seguito riportiamo il significato di ogni parola del comando. [ ] indica le componenti che non sono essenziali per il comando (optional qualifiers) By varlist:il prefissobyfa in modo che il commando sia ripetuto per ogni set unico di valori della variabile (o variabili). I dati devono pero essere sorted, cioè ordinati secondo la varlist. Esempio sort ireg by ireg: sum studio In questo modo stiamo chiedendo a Stata di mostrarci per ogni regione le statistiche descrittive della variabilestudiocommand:è il comando che vogliamo che Stata esegua(summarize, list, save, etc.)varlistsia eseguito; spesso è opzionale in molti: le variabili su cui vogliamo che il comando comandi. if exp: leggi questo come if expression e significa se lespressione indicate è vera. Lopzioneif specifica le osservazioni su cui noi vogliamo eseguire il comando. Se non è specificato, allora il comando viene eseguito su tutte le osservazioni. in range:specifica una restrizione in termini di osservazioni su cui si vuole eseguire il comando (cioè un intervallo). by ireg: sum studio if sex==1 Altri esempi: sum eta if ireg ==1 sum eta if ireg ==1 & studio<=3 sum eta if ireg!=1 sum eta if studio>=3 sum eta if (studio==3 | studio==4)
8
Stata Tutorial Daniela Vuri Economia e Politica del Lavoro (nota il doppio uguale (==) è il modo in cui Stata riconosce il simbolo di uguaglianza. Altri operatori da conoscere sono: & (and), | (or), != (diverso da, non uguale) 5.2 Describe Describe un sommario del contenuto dei dati in memoria o presenti nel dataset. La sua mostra sintassi è : describe [varlist| usingfilename] , [short detail] doveshort le informazioni su ciascuna variabile e tagliadetail informazioni include sullampiezza di una singola osservazione, e la massima dimensione del dataset. Esempio: des des,short des, detail 5.3 Display Display stringhe e valori di espressioni scalari. Se si lavora direttamente nella finestra mostra COMMAND puo essere usato come calcolatrice. La sua sintassi è: display [subcommand [subcommand]…] dovesubcommandè una stringa fra virgolette Esempi display “questa è una stringa” display 5+ln(70) 5.4 List Listmostra il valore delle variabili. La sintassi è: [byvarlist:]list [varlist][ifexp][inrange][,[no]display nolabel noobs] dove[no]displayforza il format in formato display o di tabella (nodisplay),nolabelmostra i codici numerici piuttosto che le labels, enoobssopprime lapparizione del numero di osservazioni Esempi: list in 1/5 list eta studio list if eta>18 list studio if eta<3 Se lavarlistnon è specificata, vengono mostrati i valori di tutte le variabili nel dataset
9
Stata Tutorial Daniela Vuri Economia e Politica del Lavoro 5.5 Format Il commandoformatdescrive come un numero o una stringa sono mostrati in Stata. Per esempio il numero 1234 può essere mostrato come 1234, oppure come 1234,0 o come 1,234.0, etc. Digitandodescribe varlistvengono mostrati anche i formati delle variabili in una colonna sotto il titolodisplay format. Per comprendere il significato dei vari formati, consultare laUser Guidep.92-ss (nel Manuale di Stata 7). 5.6 Dummy variables In questa sezione vediamo come generare delle variabili dummy. In Stata è molto semplice: tab studio, gen(dummy) Stata crea una variabile dummy per ogni valore trovato in studio. Così, dummy1=1 se lindividuo ha una licenza elementare e 0 negli altri casi, dummy2=1 se lindividuo ha la licenza media e 0 negli altri casi e così via per tutte le variabili presenti instudio. Se invece si vuole una dummy solo per una certa categoria della variabile studio, per es lic. elementare:gen d elem=(studio==1) _ Cioè STATA crea una variabile dummy con valore 1 sestudio=1e 0 altrimenti. Più in generale STATA crea una variabile dummy uguale a 1 se lespressione dentro parentesi è vera, e zero negli altri casi. 5.7 Drop and keep dropelimina variabili o osservazioni dai dati in memoria. La sua sintassi per ildropè: dropvarlist [byvarlist:]drop ifexp drop inrange[if exp] Keep funziona esattamente nello stesso modo deldrop per il fatto che si specificano le eccetto variabili o osservazioni da tenere piuttosto che quelle da eliminare. 5.8 Generate and replace Generatecrea una nuova variabile. La sua sintassi è: [byvarlist:] gen newvar=exp [ifexp] [inrange] Se vengono generati dei valori missing, il numero di valori missing vengono riportati innewvare anche nella Finestra degli STATA RESULTS. Replacecambia il contenuto di una variabile esistente. La sua sintassi è: [byvarlist:] replace [if oldvar=expexp] [inrange]
10
Stata Tutorial Daniela Vuri Economia e Politica del Lavoro 5.9 Operatori di STATA Le espressioni algebriche e logiche usano differenti classi di operatori. STATA differenzia tra : 1.operatori aritmetici+ (addizione), - (sottrazione), * (moltiplicazione), / (divisione),: ^ (elevamento a potenza). Ogni operazione aritmetica su un valore missing o unoperazioe impossibile (per es. la divisione per zero) da luogo ad un valore missing. 2.operatori di stringa: + (concatenazione di stringa), per esempio lespressione uffa+-che noia produce la stringa uffa-che noia 3.operatori di relazione di), > (più grande di), <= (meno o uguale di ), >= (più: <(meno grande o uguale di), == (uguale a ), != (non uguale a),= (non uguale a) 4.operatori logici: & (e), | (oppure), (not). Gli operatori logici danno come risultato un valore pari ad se lespressione èvera, 0 se èfalsa. Lordine di valutazione segue le regole standard, lespressione sulla sinistra è quella valutata pre prima, lultima sulla destra è quella valutata per ultima. Le parentesi possono essere usate per forzare un ordine differente di valutazione 5.10 Funzioni Le funzioni sono usate nellespressione exp nella sintassi vista. Al posto diexpmolte funzioni possono essere utilizzate. Largomento di una funzione può essere una qualsiasi espressione, anche un'altra funzione. Per esempio una versione semplificata della sintassi pergenerateè: generate newvar=exp e percio si potrebbe scrivere per esempio:generate loginc=ln(income),dove ln() è una funzione. Alcuni esempi di funzioni sono:  funzioni matematiche log(x) o ln(x), sqrt(x), abs(x) e le principali funzioni: exp(x), trigonometriche funzioni statistiche:chiprob(df,x) superiore della distribuzione cumulativa chi- (coda quadro con df gradi di libertà), fprob(df1, df2, f) (coda superiore della distribuzione cumulativa F con df1 df e2gradi di libertà,invnorm(p) quantile della normale (funzione standardizzata),normd(z) normale standardizzata), normprob(z) (funzione di (densità distribuzione normale standardizzata),tprob(f,t) t a due code con df gradi di (distribuzione libertà generatore di numeri pseudo-random:ro(m,)ifun che genera numeri pseudo-random  uniformemente distribuiti sullintervallo [0,1) (non cè argomento dentro () ). I numeri pseudo-random secondo una distribuzione normale standardizzata possono essere anche generati usando il comandonvnorm(uniform())i funzioni speciali, per esempio float(x) (che riporta il valore di x nella tipologia float), int(x) (che riporta il valore intero di x), max(x1, x2, x3, xn) e min(x1, x2, x3, xn) (che riporta rispettivamente il valore massimo e minimo degli argomenti tra parentesi ignorando i valori missing, sign(x) (che riporta 1 se x<0 , 0 se x=0, e 1 se x>0 e . se x=.), e sum(x) (che riporta la somma di x, trattando i valori missing come zeri) Ci sono anche funzioni che trattano le date e funzioni di serie temporali, così come funzioni matrici che danno luogo a scalari comedet(B)etrace(B)(rispettivamente il determinante e la traccia della matrice B).
11