COMANDI:
-In una stringa, ad esempio “Running” è fondamentale rispettare maiuscole e minuscole (ogni volta che si
scrive una stringa va tra virgolette)
-I NOMI DELLE VARIABILI DEVONO ESSERE SEPARATI DA SPAZI: I nomi di variabili devono essere lunghi al
massimo 32 caratteri(non si può scrivere testi lunghi)
-SAS ha bisogno di distinguere le variabili numeriche da quelle alfanumeriche($)
-le lettere accentate non sono caratteri legali in SAS
-run= una volta che si scrive il programma bisogna scrivere alla fine run; per fare in modo che il programma
vada in esecuzione e poi bisogna cliccarlo nell’icona in alto
-infile=dopo aver scritto “infile” bisogna scrivere il percorso completo del file che si vuole leggere (quindi
può essere in formato “csv” “txt” …
-input= dopo il comando input scrivere i nomi delle variabili perché rappresentano il titolo delle colonne
-$= ad ogni fine di ogni stringa (per indicare che quella variabile è alfanumerica)
-per aggiungere una variabile nel dataset si deve scrivere il nome della variabile ad esempio
bmi=peso/(altezza**) significa che ho creato una nuova variabile creata da peso/altezza elevata al quadrato
-$:30. = significa leggi una stringa di al massimo 30 caratteri
-dsd= si utilizza quando la virgola viene usata per separare due campi e quindi si mette dsd per far capire a
SAS che la virgola è utilizzata come separatore
-firstobs= se si scrive “firstobs=2” vuol dire di leggere i dati dalla riga 2
-obs= specifica il numero di righe del file da leggere, per esempio obs=300
-dlm= questo comando indica che le variabili tra di loro sono separate da qualcosa e bisogna specificare
cosa per esempio dlm=”,” (delimitatore)
dlm=”09”x (delimitatore universale, “aggiusta” i dataset)
-missover= leggi i dati delle variabili e se mancano delle variabili mette un osservazione non fatta
-Le date e le ore non sono ne numeri ne una stringa, hanno un significato chiaro e specifico= corrisponde
ad un formato specifico, quindi le date si indicano così MMDDYY8. (che indica mese, giorno e anno con 8
caratteri, cioè in cui i separatori hanno 8 caratteri, dopo il mese, giorno e anno) e le ore si indicano in
questo modo HHMMSS (ore, minuti e secondi)
-title “Tabella”; per aggiungere un titolo al dataset bisogna scrivere il comando title e poi tra parentesi il
nome del titolo che vogliamo dare al dataset
PROC CONTENTS DATA
-proc contents data= fiori2; “proc” rappresenta il passo della procedura, “contents” rappresenta nome
della procedura e “data” rappresenta il nome del dataset su cui la procedura deve agire, in questo caso
‘fiori2’ (rappresenta un sommario dell’informazione del datastep)
PROC PRINT DATA
proc print data= esame;
var nome;
id cognome;
title ’elenco delle persone’;
where peso > 80;
format (cognome nome) $30.;
run;
-proc print data= fiori2 questa funzione mostra tutto il contenuto del dataset all’ interno di una procedura
ossia:
proc print data=calit2;
var Flowid date; => in questo modo stamperà soltanto il contenuto della variabile Flowid date
run;
ALL’INTERNO DI UNA PASSO DI PROCEDURA (PROPESTEP) SI UTILIZZA UNA “WHERE” PER DIRE LA
PROCEDURA VIENE APPLICATA SOLTANTO ALLE OSSERVAZIONI CHE SODDIFANO LA CONDIZIONE
-proc print data=calit2;
where Flowid=7; => permette di indicare una condizione e soltanto le righe che soddisfano quella
osservazioni saranno stampate, per esempio in questo caso stamperà solo le osservazioni in cui Flowid sia
uguale a 7
where Flowid=7 and date < '31Jul05'd; => significa che SAS stamperà solo le osservazioni in cui Flowid sia
uguale a 7 con quella data, indicando la data con la finale d, sto dicendo a SAS che quella è una data a tutti
gli effetti
run;
-proc print data=calit2;
format date ddmmyy10.; => in questo caso la variabile che deve essere stampata è quella con il giorno, il
mese e l anno con 10 caratteri complessivi. Quindi con il comando “format” mi fa vedere la variabile date
nel formato che ho specificato
ALL’INTERNO DI UN DATASTEP SI UTILIZZA LA “IF” (CONDIZIONE) PER TENERE SOLTANTO LE
OSSERVAZIONI CHE SODDIFANO LA DETERMINATA CONDIZIONE
-data nuovo;
set calit2; => questo crea un dataset dal nome nuovo partendo e prendendo i file dal dataset calit2
if Flowid=7 and date < '31Jul05'd; => crea un dataset con nome nuovo con questa condizione
keep Flowid date; => significa di tenere solo queste due variabili nel nuovo file
-il punto rappresenta il simbolo del valore mancante in SAS
COS’E’ UNA LIBRERIA IN SAS?
Una libreria è un grande contenitore di dataset, ogni libreria in SAS è associata ad una cartella
In SAS i dataset sono organizzati all’interno delle librerie e noi abbiamo una libreria che si chiama ‘WORK’ e
‘SASHELP’
SAS contiene le librerie, in cui ci sono dei dataset di SAS e ci possono essere le librerie temporanee(come
WORK) e le librerie permanenti
-libname lib '/folders/myshortcuts/MyFolders/esercizi/dati-lezione1'; => con questo comando verrà
creata una nuova libreria associata alla cartella che ho segnato il percorso (bisogna crearla quando si deve
importare i dati in un dataset permanente)
data lib.nuovo2;
set calit2;
if Flowid=7 and date < '31Jul05'd;
keep Flowid date;
run; => verrà creata un nuovo dataset ‘nuovo2’ dentro la libreria lib
- data lib.nuovo2;
set calit2;
if Flowid=7 and date < '31Jul05'd;
drop date; => la funzione “drop” viene utilizzata per guardare tutte le variabili tranne quella
‘date<31Jul05d’
run;
- data lib.nuovo2;
set calit2;
if Flowid=7 and date < '31Jul05'd; drop date; run;
count2 = count * count; => quando si scrive così vuol dire che creo una nuova variabile ‘count2’ che è
count al quadrato
run;
Quando viene chiesto di visualizzare i risultati bisogna usare:
proc print data = nome del dataset; run;
PER ESPORTARE un dataset:
data medie;
set medie;
file "/folders/myshortcuts/MyFolders/esportatimedie.txt" dlm=";";
put Regione Popolazione Superficie;
run;
PROC FORMAT DATA
-proc format data= esame;
value formato 0=”Rosso”
1=’Giallo’
2=’Blu’;
run;
-proc format data= esame;
value $formatocolore
’RED’=’Rosso’
’YELLOW’=’Giallo’
’BLUE’=’Blu’;
run;
proc print data= esame;
var colore;
format formatocolore.; run; 24/03/2020
Per ORDINARE UN DATASET: PROC SORT DATA
-proc sort data= corso.persone;
by nome;
run; => in questo modo la “proc sort data” ordina il dataset per nome
proc print data= corso.persone;
run;
OPPURE
proc sort data= corso.persone;
by descending nome;
run; => in questo modo la “proc sort data” ordina il dataset per nome in modo decrescente
proc print data= corso.persone;
run;
PROC MEANS DATA
- proc means data= sashelp.bweight;
run; => “proc means data” permette di calcolare le statistiche di default del dataset su tutte le variabili
numeriche
- proc means data= sashelp.bweight mean std kurtosis ;
var weight;
run; => “proc means data” permette di calcolare le statistiche di default del dataset mentre il comando
“var” permette di calcolare queste statistiche solo sulla variabile numerica “weight” (valore medio,
deviazione standard della curtosi della variabile weight)
-proc means data= sashelp.bweight mean std kurtosis;
var weight;
class black;
run; => in questo caso “class” permette di calcolare le statistiche indicate (ossia la media, std e la curtosi)
sul dataset bweight distintamente per ogni valore che assume la variabile black
-proc means data= sashelp.bweight mean std kurtosis;
var weight momage;
class black boy;
run; => in maniera distinta io ho trattato la variabile “weight” e la variabile “momage” (questo vuol dire
che all’interno del dataset ogni colonna viene trattata in maniera indipendente dalle altre, io non ho in SAS
un modo per dire che le statistiche di dati presi da due colonne diverse devono essere messi insieme per
calcolare le statistiche) una proc means lavora rigidamente su una singola colonna
Io posso fare in modo che il risultato di una “proc means” venga salvato in un nuovo dataset: (output
significa che il risultato della proc means deve essere salvato, non solo nella finestra dei risultati, ma anche
in un nuovo dataset (ossia il comando out = risultato che specifica il dataset da creare si chiama “risultato”
e con mean = media specifico in quale variabile deve essere salvata, in questo caso “media”)
-proc means data= sashelp.bweight mean std kurtosis;
var weight momage;
class black boy;
output out = risultato mean = media;
run;
Per fare in modo di visualizzare le righe relative a stratificazione massima bisogna usare il comando
“nway”(fa si che non contenga osservazioni Relative all’interno del dataset)
-proc means data=sashelp.bweight mean std kurtosis nway;
var weight momage;
class black boy;
output out =corso.risultato mean = media;
run;
proc print data= corso.risultato; run; Qui mi visualizza il
dataset con le righe
relative alla
stratificazione massima
(comando nway)
-proc means data=sashelp.bweight mean std kurtosis nway;
var weight momage;
class black boy;
output out =corso.risultato mean = media min= minimo; => stampare più variabili
run;
Quando noi andiamo a scrivere mean= media intendiamo che vogliamo ottenere la media della variabile
“weight”, però se vogliamo ottenere anche la media della variabile momage, devo scrivere “mean= media
media2”
-proc means data=sashelp.bweight mean std kurtosis nway;
var weight momage;
class black boy;
output out =corso.risultato mean = media media2 min= minimo;
run;
-proc means data=sashelp.bweight mean std kurtosis nway;
var weight momage;
class black boy;
output out = corso.risultato mean = media media2 min(momage)= minimo; => SPECIFICO la
variabile di cui voglio calcolare il minimo
-/* visualizzare i valori min e max della varibile */
proc means data=sashelp.bweight min max;
var weight;
run;
ORA VEDIAMO L’UTILIZZO DELLA PROC MEANS PERO’ NON CONSIDERATA FORMALMENTE COME UN
CALCOLO DELLA STATISTICA
-Ora voglio sapere quale modello/osservazione realizza il valore minimo e il valore massimo(ossia co
-
Appunti di lezione di Diritto commerciale (Snc e Sas)
-
Fisica - Appunti
-
Appunti Fluidodinamica
-
Appunti fluidodinamica