Il 0% ha trovato utile questo documento (0 voti)
0 visualizzazioni12 pagine

Stata 22.10

Il documento fornisce una guida dettagliata sull'uso di Stata, inclusi comandi per visualizzare e gestire i dati, come 'browse' e 'edit', e la sintassi fondamentale per l'esecuzione dei comandi. Viene spiegato come gestire valori mancanti, ricodificare variabili e utilizzare comandi per analisi statistiche, come 'summarize' e 'tabulate'. Inoltre, si discute l'importanza dei do-file per salvare e commentare i comandi utilizzati.

Caricato da

Justin Hanson
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato DOCX, PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
0 visualizzazioni12 pagine

Stata 22.10

Il documento fornisce una guida dettagliata sull'uso di Stata, inclusi comandi per visualizzare e gestire i dati, come 'browse' e 'edit', e la sintassi fondamentale per l'esecuzione dei comandi. Viene spiegato come gestire valori mancanti, ricodificare variabili e utilizzare comandi per analisi statistiche, come 'summarize' e 'tabulate'. Inoltre, si discute l'importanza dei do-file per salvare e commentare i comandi utilizzati.

Caricato da

Justin Hanson
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato DOCX, PDF, TXT o leggi online su Scribd
Sei sulla pagina 1/ 12

Stata 22/10

Struttura e linguaggio di stata


Per vedere i dati ci sono due comandi:
1. Browse: per vedere la matrice dati, si usa sempre questo tendenzialmente se non si vuole
modificare la matrice
2. Edit: sempre per vedere i dati in matrice
Esempio: Menu
edit
Data > Data Editor > Data Editor (Edit)
browse
Data > Data Editor > Data Editor (Browse)
Edit brings up a spreadsheet-style data editor for entering new data and editing existing data. edit is
a better alternative to input; see [D] input.
Browse is similar to edit, except that modifications to the data by editing in the grid are not
permitted. browse is a convenient alternative to list; see [D] list.

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.

Differenza tra finestra command e do-file:


Su entrambi si scrivono i comandi, ma il do-file si può salvare in un file sul desktop e ci si possono
scrivere commenti. Inoltre, sul do-file si ha sempre la visione dei comandi precedenti.

Individuare la directory e aprire il file dati.


cd utilizzo la cartella sul desktop per trovare il percorso della cartella e lo copio. Quindi per
esempio se ho semplicemente il file in una cartella che si chiama STATA sul desktop farò cd + il
percorso. Il percorso della cartella contenente il database che mi serve lo trovo su ottieni
informazioni e uscirà una cosa del genere:
cd "/Users/veronicaballhaus/Desktop/STATA"
use per aprire un file che sarà il database di stata: cd + il percorso + nome del file.
use "/Users/veronicaballhaus/Desktop/STATA/DB Prima lezione.dta"

Conoscere la matrice dati:


browse si apre tutta la matrice dati in diversi colori che suddividono il tipo di variabile. Blu indica
una variabile numerica sotto etichetta (quindi categoriale ordinale), rosso indica una stringa di testo
sulla quale non si possono fare operazioni, nero è un valore puramente numerico.
describe consente di vedere in ordine: il nome della variabile, tipo, formato, value label, etichetta.
Faccio describe + nome della variabile.

summarize se scrivo summarize + nome variabile offre informazioni su distribuzione,


osservazioni, media, deviazione standard, minimo e massimo.

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

Evoluzione di tabulate: fre


Con fre non devo specificare missing perché le include già. Al momento il comando fre non è
installato su STATA18. Per installarlo faccio: ssc install fre

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

Data management 30/11


Gestione del database: come gestire i missing values

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:

Uso il comando mvdecode: mvdecode q29a, mv(-99=.a\-98=.b) cosi -98


(don’t know) e -99 (no answer) vengono conteggiati come missing. NB: lo slash
nel comando è al contrario.

Cambiamento di fre da così:

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.

(Eval lo scelgo io per scegliere un nome diverso da quello della variabile


originale e -6 è perché l’1 della scala deve andare indietro di 6).

Un’altra possibilità per ricodificare una variabile soprattutto se voglio


“riclassificarla” è recode.

Es: con la variabile “titolo di studio degli intervistati” cioè q135

Per facilitare l'analisi (specie bivariata), potremmo per esempio voler


riclassificare il titolo di studio in tre fasce: livello di istruzione basso, medio e
alto, come segue:
-99: missing

1 e 2: livello di istruzione basso

3: livello di istruzione medio

4 e 5: livello di istruzione alto

6 e 9: missing

Dunque, livello di istruzione basso=1, livello di istruzione medio=2, livello di


istruzione alto=3.

recode q135 (1 2 =1) (3=2) (4 5 =3) (-99 6 9 =.), gen (edu_grp)

(edu_grp è come nomino la nuova variabile ricodificata).

Adesso come faccio a rinominare le. Categorie 1,2 e 3 e dar loro un nome?
Devo definire l’etichetta (label) della nuova variabile.

Uso label variable:

Attribuire label a variabili e valori: label define + label value

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

Con questo comando creiamo il «pacchetto» di label, dove a ogni valore


numerico corrisponde, tra «», l'etichetta, e lo nominiamo «postit» (perché ha
scelto così il prof).

label value edu _grp postit  label value + nome della varibile + nome del
pacchetto che ci voglio applicare

Con questo comando, invece, attribuiamo il «pacchetto» appena creato alla


nostra variabile.

Un’altra opzione per ricodificare una variabile: replace

Uso replace per modificare i valori all’interno di una variabile senza


sovrascriverla ad un’altra variabile per non perderne i dati. Genero quindi una
nuova variabile per inserire i nuovi valori.

Uso due comandi, il primo per generare la nuova variabile:


generate + nuova_variabile=.

replace + nuova_variabile if vecchia_variabile==valore

Esempio: 1. generate spdvoters=0 2. replace spdvoters=1 if q19aa==4

Ora spdvoters è la nuova variabile e ha di base un valore 0, vado a sostituire 0


con 1 con tutti i casi che, alla variabile q19aa (quella relativa alle preferenze di
voto), avevano valore 4 (ossia il codice che indica gli elettori SPD).

Quindi:

1. Questa è la variabile
q19aa con 4= elettori spd.

2. genero una variabile solo per gli


elettori spd (quindi per le frequenze del codice 4 della variabile q19aa.

3. Ora do un’etichetta alla


nuova variabile spdvoters e la posso osservare.
4. Per attribuire un nome ai codici:

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à?

3. Ricodificare la variabile età creando una variabile “classe età”


raggruppando i valori in questo modo: 16-29, 30-39, 40-49, 50-59, 60+
per attribuire codice 1 ai valori 16-29, non serve scriverli tutti ma basta
scrivere (16/29=1)

recode età (16/29 =1) (30/39=2) (40/49=3) (50/59=4) (60/102=5), gen


(classe_età)
4. Assegnate variable labels e value labels alla variabile classe età

Potrebbero piacerti anche