7 2. I DATASET SAS 2.1 Introduzione Le più comuni fonti dei dati da analizzare con i metodi statistici sono - questionari provenienti da rilevazioni dirette - dati statistici raccolti da enti di varia natura - risultati di osservazioni sperimentali I dati da elaborare sono spesso di tipo eterogeneo, nel senso che possono coesistere variabili qualitative (sia sconnesse, sia ordinabili) e variabili quantitative (sia discrete, sia continue), anche se in alcune circostanze si può avere a che fare con variabili solo qualitative oppure solo quantitative. I dati da elaborare possono essere organizzati in modi diversi, ma i dataset SAS sono generalmente organizzati in una matrice di dimensioni n×h, dove le n righe rappresentano le unità statistiche considerate mentre le h colonne rappresentano le variabili oggetto di rilevazione. Un esempio di questo genere è contenuto nella tabella successiva, in cui i è l’etichetta che corrisponde alla i-esima unità statistica (con i = 1, 2, …, n), Xj rappresenta la j-esima variabile (con j = 1, 2, …, h) e xij è la determinazione assunta dalla j-esima variabile sull’i-esima unità statistica Tabella 2.1.1 Struttura di una matrice di dati Variabili Unità statistiche X1 X2 ... Xj ... Xh 1 x 11 x 12 ... x 1j ... x 1h 2 x 21 x 22 ... x 2j ... x 2h . ... ... ... ... ... ... i x i1 x i2 ... x ij ... x ih . ... ... ... ... ... ... n x n1 x n2 ... x nj ... x nh
23
Embed
2. I DATASET SAS 2.1 Introduzionedocenti-deps.unisi.it/.../11/Introduzione-al-SAS-cap2.pdf · 2018-11-16 · 11 2.3 La creazione di un dataset SAS all’interno del programma Si è
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
7
2. I DATASET SAS
2.1 Introduzione
Le più comuni fonti dei dati da analizzare con i metodi statistici sono
- questionari provenienti da rilevazioni dirette
- dati statistici raccolti da enti di varia natura
- risultati di osservazioni sperimentali
I dati da elaborare sono spesso di tipo eterogeneo, nel senso che possono coesistere variabili qualitative
(sia sconnesse, sia ordinabili) e variabili quantitative (sia discrete, sia continue), anche se in alcune
circostanze si può avere a che fare con variabili solo qualitative oppure solo quantitative.
I dati da elaborare possono essere organizzati in modi diversi, ma i dataset SAS sono generalmente
organizzati in una matrice di dimensioni n×h, dove le n righe rappresentano le unità statistiche
considerate mentre le h colonne rappresentano le variabili oggetto di rilevazione.
Un esempio di questo genere è contenuto nella tabella successiva, in cui i è l’etichetta che corrisponde
alla i-esima unità statistica (con i = 1, 2, …, n), Xj rappresenta la j-esima variabile (con j = 1, 2, …, h) e
xij è la determinazione assunta dalla j-esima variabile sull’i-esima unità statistica
Tabella 2.1.1
Struttura di una matrice di dati
Variabili
Unità statistiche
X1 X2 ... Xj ... Xh
1 x11 x12 ... x1j ... x1h
2 x21 x22 ... x2j ... x2h
. ... ... ... ... ... ...
i xi1 xi2 ... xij ... xih
. ... ... ... ... ... ...
n xn1 xn2 ... xnj ... xnh
8
Va notato che a ogni unità statistica sono associate le medesime variabili e che tali variabili devono
comparire sempre nello stesso ordine.
In alcuni casi la determinazione assunta da una o più variabili su una determinata unità statistica non è
nota ed in questi casi si è in presenza di un’osservazione mancante (missing value).
In altre situazioni i dati da elaborare sono rappresentati sotto forma di tabelle di contingenza oppure di
matrici di covarianza o di correlazione. Il SAS è in grado di leggere anche dati organizzati in questi
modi, purché si descriva correttamente il formato dei dati utilizzando opportune istruzioni che verranno
descritte più avanti.
9
2.2 la struttura dei dataset SAS
In ogni dataset SAS è necessario indicare:
1) il nome del dataset
2) il nome delle variabili
3) il formato delle variabili, distinguendo se “numerico” o “alfanumerico”
4) le determinazioni assunte dalle variabili su ciascuna unità statistica
I nomi assegnati ai dataset e alle variabili devono rispettare le seguenti regole:
- non possono superare i 32 caratteri
- non devono contenere caratteri speciali (come lettere accentate o simboli come &, %, £, $, …)
- il primo carattere deve essere sempre una lettera oppure la sottolineatura (underscore) “_”
- i caratteri successivi possono essere lettere, numeri o underscore
- non sono ammessi spazi bianchi
- non si possono utilizzare nomi speciali che vengono utilizzati dal sistema, come per esempio
_N_, ERROR_ LIBRARY, SASHELP, WORK, USER, MAPS e molti altri.
Il sistema SAS riconosce la creazione (o la lettura) di un dataset quando si digita la parola chiave
“data” seguita dal nome che si desidera assegnare al dataset, come mostrato dall’esempio successivo
in cui il nome assegnato al dataset è “studenti”.
Esempio 2.2.1
/*ESEMPIO DI CREAZIONE DI UN DATASET*/
data studenti;
/*”studenti” è il nome assegnato al dataset*/
Le variabili contenute in un dataset vengono elencate una dopo l’altra dopo la parola chiave “input” e
devono essere separate fra loro da almeno uno spazio bianco.
Ciascuna variabile è caratterizzata da una serie di attributi, di cui soltanto il nome è obbligatorio,
mentre gli altri sono opzionali:
- il nome (NAME, obbligatorio)
10
- il tipo: numerico o alfanumerico (TYPE, opzionale, ma per default numerico)
- la lunghezza (LENGTH, opzionale)
- il formato di ingresso (INFORMAT, opzionale)
- il formato di uscita (FORMAT, opzionale)
- l’etichetta (LABEL, di lunghezza massima pari a 256 caratteri, opzionale)
Tutti questi attributi possono essere specificati mediante opportune istruzioni.
Per quanto riguarda il nome (NAME) da assegnare alle variabili, si seguono le stesse regole elencate a
proposito del nome da assegnare ai dataset.
Per quanto riguarda il tipo (TYPE) va notato che le determinazioni assunte da una variabile numerica
possono essere solo numeri, mentre quelle di una variabile alfanumerica possono essere numeri, lettere
e caratteri speciali. È importante tenere presente che il SAS utilizza il punto (e non la virgola) come
simbolo di separazione dei decimali.
Per default il SAS considera ogni variabile come numerica per cui, se si ha a che fare con variabili
alfanumeriche, occorre indicarlo in modo esplicito, aggiungendo il simbolo dollaro ($) dopo lo spazio
che segue il nome della variabile.
Se, per esempio, il dataset “studenti” contiene le informazioni relative al nome e cognome delle unità
statistiche, al loro numero di matricola e ai risultati ottenuti in due prove intermedie di un corso, le
istruzioni potrebbero essere quelle indicate nell’esempio seguente
Esempio 2.2.2
data studenti;
input cognome $ nome $ matricola prova1 prova2;
/*la keyword “input” è seguita dal nome e dal tipo delle variabili. Dato che “nome”
e “cognome” sono alfabetiche, il loro nome va seguito dal simbolo $. Le variabili
“matricola”, “prova1” e “prova2” sono invece numeriche*/
I restanti attributi delle variabili (tutti opzionali) verranno analizzati nei paragrafi seguenti, dopo aver
descritto le istruzioni necessarie per creare un dataset all’interno di un programma SAS.
11
2.3 La creazione di un dataset SAS all’interno del programma
Si è detto nel paragrafo precedente che per dichiarare al SAS l’intenzione di creare un dataset si digita
nella finestra del PROGRAM EDITOR la parola chiave “data”, seguita dal nome che si desidera
assegnare al dataset che si sta creando e dal punto e virgola finale. Nella riga successiva va poi digitata
la parola chiave “input” che descrive la struttura del dataset, elencando ordinatamente le variabili ed
eventualmente fissando la loro posizione.
Questa istruzione assume forme diverse a seconda del tipo di formato del dataset che può essere:
1) in formato libero
2) in formato fisso (o formato colonna)
Nel primo caso le h variabili rilevate su ogni unità statistica vengono elencate ordinatamente una dopo
l’altra dopo la parola chiave “input”, senza che sia necessario indicare la loro posizione specifica, ma
è necessario ci sia almeno uno spazio bianco di separazione fa i diversi nomi.
Nei file a formato fisso, invece, le variabili hanno una posizione fissa, nel senso che devono essere
dichiarate le colonne che contengono le determinazioni di ciascuna variabile. Per ottenere questo
risultato occorre aggiungere, dopo il nome di ciascuna variabile, l’indicazione delle colonne che
contengono le determinazioni corrispondenti.
Una volta terminata l’elencazione delle variabili si utilizza il punto e virgola e l’imputazione delle
diverse determinazioni delle h variabili considerate va fatta in una nuova riga utilizzando la parola
chiave parola chiave “cards” oppure la parola chiave equivalente “datalines”, entrambe seguite dal
solito punto e virgola.
Queste due parole chiave indicano al SAS che nelle righe successive saranno inserite le determinazioni
assunte dalle h variabili elencate dopo la parola chiave “input” sulle n unità statistiche considerate:
ogni riga corrisponde a una singola unità statistica, per cui saranno presenti in tutto n righe.
Il SAS segnala di aver riconosciuto le determinazioni inserite da programma evidenziando
automaticamente in giallo tutto il testo posizionato sotto “cards” o sotto “datalines”.
In questo caso non va inserito il punto e virgola finale in nessuna delle n righe evidenziate in giallo. Un
punto e virgola isolato va invece inserito nella riga successiva all’ultima osservazione (che riporta
l’elenco delle determinazioni delle h variabili rilevate sulla n-esima unità statistica considerata).
12
Per esempio, si consideri la tabella successiva che riporta i risultati ottenuti da un gruppo di 8 studenti
in due prove intermedie di un corso universitario.
Tabella 2.3.1
Esempio di matrice dei dati
Cognome Nome Matricola 1° prova 2° prova
Giovine Marta 101199 25 21
Rossi Fabio 112233 24 22
Conte Alessio 132378 26 26
Bianchi Rosa 123324 18 30
Valente Gianni 130001 21 24
Gallo Roberta 108875 18 23
Fiano Federico 122387 28 22
Germano Claudio 130024 26 23
Ciascuna colonna della tabella riporta una variabile: le prime due sono di tipo qualitativo (e quindi
alfanumeriche), mentre le tre successive sono invece quantitative (e quindi numeriche). Ogni riga della
tabella riporta le determinazioni delle singole variabili osservate sugli 8 studenti considerati.
Questa organizzazione dei dati è, a tutti gli effetti, un dataset SAS, in quanto è un insieme di dati
omogenei organizzati in forma rettangolare in cui le colonne indicano le variabili e le righe sono le
determinazioni assunte dalle variabili sulle unità statistiche considerate.
Un programma SAS che crea un dataset contenente i dati precedenti in un formato libero è riportato nel
riquadro seguente.
Esempio2.3.1
/*ESEMPIO DI CREAZIONE DI UN DATASET*/
data studenti; /*nome del dataset*/
input cognome $ nome $ matricola prova1 prova2; /*nome e tipo delle variabili*/
cards; /*”cards” o “datalines” sono le parole chiave che indicano l’inizio
dell’inserimento delle osservazioni*/
Giovine Marta 101199 25 21
Rossi Fabio 112233 24 22
Conte Alessio 132378 26 26
Bianchi Rosa 123324 18 30
Valente Gianni 130001 21 24
Gallo Roberta 108875 18 23
Fiano Federico 122387 28 22
Germano Claudio 130024 26 23
; /*il simbolo “;” indica il termine dell’inserimento delle osservazioni*/
proc print; /*procedura utilizzata per la visualizzazione del dataset*/
run;
13
Il dataset è stato chiamato “studenti”, mentre le 5 variabili (di cui le prime due alfanumeriche e le
restanti numeriche) sono state chiamate: cognome, nome, matricola, prova1 e prova2.
Per una maggiore chiarezza, nel programma sono stati inseriti anche dei commenti, che il SAS ha
evidenziato automaticamente in colore verde, mentre ha colorato in blu tutte le parole chiave.
Nella prima riga la stringa “studenti” che segue la parola chiave “data” viene riconosciuta dal SAS
come il nome assegnato al dataset che si sta creando.
Nella riga successiva la parola chiave “input” indica al SAS l’elenco delle variabili ed è quindi seguita
dalla lista dei nomi delle variabili. Le due variabili “cognome” e “nome” sono seguite dal simbolo “$”
per indicare che si tratta di variabili alfanumeriche.
La parola chiave “cards”, seguita dal punto e virgola, indica al SAS che si stanno inserendo le
determinazioni assunte dalle variabili elencate sugli 8 studenti considerati.
In questo caso il dataset è in formato libero, per cui le determinazioni possono essere scritte una di
seguito all’altra, separandole con uno spazio bianco, e possono avere lunghezza diversa. Ciascuna riga
si riferisce a un singolo studente e manca il punto e virgola finale.
L’indicazione del termine di inserimento delle osservazioni è stata effettuata utilizzando una riga con il
solo punto e virgola.
Nella penultima riga del programma è stata utilizzata una procedura SAS, la “proc print”, per
controllare che non siano stati commessi errori nell’imputazione dei dati. Questa procedura si limita
infatti a visualizzare il contenuto del dataset creato nella finestra denominata “Visualizzatore dei
risultati”.
L’ultima riga del programma contiene la sola istruzione “run”, seguita dal solito punto e virgola.
Questa è la parola chiave che indica il termine delle istruzioni e deve essere sempre presente alla fine di
un qualsiasi programma SAS.
L’istruzione “run” conclude un qualsiasi programma SAS.
Il programma SAS appena esaminato consiste di due soli STEP: un DATA STEP che consente di
creare il dataset degli studenti e un PROC STEP (formato dalla sola proc print) che ne mostra il
contenuto nella finestra “Visualizzatore dei risultati”. Si ottiene così l’output mostrato nel riquadro
seguente
14
Oss cognome nome matricola prova1 prova2
1 Giovine Marta 101199 25 21
2 Rossi Fabio 112233 24 22
3 Conte Alessio 132378 26 26
4 Bianchi Rosa 123324 18 30
5 Valente Gianni 130001 21 24
6 Gallo Roberta 108875 18 23
7 Fiano Federico 122387 28 22
8 Germano Claudio 130024 26 23
Va notato che durante la creazione (o anche durante la lettura) di un dataset, il SAS genera
automaticamente una variabile “_N_”, che contiene il numero di osservazioni create (o lette). Questa
variabile risulta particolarmente importante quando, per un qualche motivo, si desidera interrompere la
lettura di un file prima del suo termine reale.
Nell’esempio successivo si considera il caso in cui si crea lo stesso dataset dell’esempio 2.3.1, ma
questa volta utilizzando il formato fisso. In questo caso è necessario indicare al software la posizione
occupata dalle determinazioni di ciascuna variabile, esplicitando il numero delle colonne corrispondenti
dopo il simbolo “$” successivo al nome di ciascuna variabile alfanumerica e dopo il nome di ciascuna
variabile numerica. Il SAS evidenzia automaticamente in colore verde acqua il numero delle colonne.
Esempio 2.3.2 /*ESEMPIO DI CREAZIONE DI UN DATASET IN FORMATO FISSO*/