Stata 22.10
Stata 22.10
NON esiste un comando “un-do”, non si possono quindi fare correzioni. NON si possono scrivere
comandi in maiuscolo.
Si può scrivere il file con i comandi, salvarlo in una cartella e riaprirlo più tardi. Questo serve per
tenerne traccia.
Struttura e sintassi:
In this diagram, varlist denotes a list of variable names, command denotes a Stata command, exp
denotes an algebraic expression, range denotes an observation range, weight denotes a weighting
expression, and options denotes a list of options.
Command varlis [= exp] [in range] [weight] [options]
Quindi la cellula fondamentale della sintassi è data da un commando, seguito da una variabile e poi
le opzioni al comando.
Sul do-file è necessario che certi comandi siano anticipati da * o / in questi casi vengono scritti in
verde e stata sa che sono righe da “saltare”.
In caso esca un errore si può fare click sull’errore e ci sono due opzioni: o si è utilizzato un
comando inesistente oppure si utilizza “help” che restituirà il titolo del comando spiegando come fa
il comando e poi fornisce la sintassi corretta del comando specificando anche le varie opzioni che si
possono usare. Appare così command descrtibe is unrecognized.
Comandi utili:
clear per pulire il software dalla matrice dati inserita e inserirne una nuova se necessario
set more off per rimuovere la limitazione
version per vedere se ci sono aggiornamenti da fare
Per aprire un do-file dove inserire tutti i comandi e salvarli successivamente in un file:
Per scrivere un commento (memo) che non sia un comando (quindi che diventa verde) inserisco //
oppure */.
Se fai esegui su un commento ti dirà not found. Quindi si può prendere appunti sul do-file.
Alcuni comandi si possono abbreviare, per esempio summarize posso scrivere sum.
codebook da una visione più ampia, combina le informazioni date da describe e summarize. Faccio
codebook + nome variabile.
lookfor se voglio vedere la composizione del genere nel dataset che è molto grande faccio lookfor
gender e ti da il codice della variabile. In pratica è uguale a describe, solo che lookfor serve se
voglio cercare il codice della variabile.
tabulate o tab se voglio frequenze, frequenze percentuali e cumulate.
Se voglio vedere anche le risposte mancanti faccio tab nome variabile, missing. Si aggiunge
quindi la riga don’t know.
tab nome variabile, nolabel mi serve per togliere le etichette (per esempio female diventa 1 e
male=2)
Posso fare anche entrambi i comandi insieme: tab nome variabile, missing nolabel
bysort mi serve per avere un output specifico per le categorie di una variabile, unisco due variabili
incrociando i dati vedendo comunque le info (media, deviazione standard ecc) per la prima
variabile. Incrocio gender e satisfaction, trovo la soddisfazione per i due generi:
Scrivo bysort q1: summarize q124
Esercizio:
-Trova etichetta e media della variabile auto collocazione politica.
Ho fatto “lookfor self” e mi sono uscite tutte le variabili contenenti self. Era solo una cioè “left-right
self assessment”
Etichetta: q32
Faccio sum q32
Media: 5.190937
-Analizza le frequenze per sapere quanti sono di estrema destra e poi trova i missing.
Right 11: 23
Missing: 23+26+99
-Trova media per uomini e media per donne
-Trova mediana per uomini e donne
Fre q29a: trovo la frequenza di q29a compresi i missing values. Mi esce però
una matrice con i missing values conteggiati tra le risposte valide, devo quindi
segnalare -98 e -99 come missing values:
A così:
Facendo summarize vedo che è cambiata anche la media e la deviazione
standard perché ho eliminato i valori -98 e -99.
Ricodificare una variabile: generate serve per generare una variabile e per
creare una variabile sulla base di un’altra variabile. Con generate creo una
nuova variabile
Per esempio, la variabile q29a (scala di gradimento della Merkel) è una scala a
11 punti, con valori da 1 a 11. Guardando le value labels però la scala è
interpretata da -5 a +5. Voglio quindi ricodificare la variabile per portare anche
i valori da -5 a +5. Il comando generate consente di creare una nuova variabile
determinandone le caratteristiche.
gen eval_merkel=q29a-6
Stata quindi costruirà una nuova variabile che, caso per caso, avrà un valore
uguale a quello registrato nella q29a meno6.
6 e 9: missing
Adesso come faccio a rinominare le. Categorie 1,2 e 3 e dar loro un nome?
Devo definire l’etichetta (label) della nuova variabile.
Vogliamo ora definire le «etichette» dei valori della variabile edu _grp. Si
applica una sequenza di due comandi:
label define postit 1 «basso» 2 «medio» 3 «alto» postit è il nome del
pacchetto con questi tre valori
label value edu _grp postit label value + nome della varibile + nome del
pacchetto che ci voglio applicare
Quindi:
1. Questa è la variabile
q19aa con 4= elettori spd.
Esercizio
1. Attraverso la sintassi trova la variabile che indica l’anno di nascita degli
intervistati. Ci sono valori mancanti considerati come validi? Se si,
escludili.
2. Costruire una nuova variabile età che calcola l’età degli intervistati ad
oggi a partire dal loro anno di nascita. Qual è la media dell’età?