SAS systemet. Kort introduktion til SAS. SAS vinduer. Janne Petersen. Efterår 2013

Relaterede dokumenter
Kort introduktion til SAS

SAS systemet SAS. SAS vinduer Janne Petersen

Kort intro til SAS. Efterår Janne Petersen Judith L Jacobsen Lene Theil Skovgaard

Hvorfor SAS Kort intro til SAS

Introduktion til SAS. Faculty of Health Sciences

Det kunne godt se ud til at ikke-rygere er ældre. Spredningen ser ud til at være nogenlunde ens i de to grupper.

Kommentarer til øvelser i basalkursus, 2. uge

MPH specialmodul i epidemiologi og biostatistik. SAS. Introduktion til SAS. Eksempel: Blodtryk og fedme

Statistik FSV 4. semester 2014 Øvelser Uge 2: 11. februar

Hurtigt i gang med SAS University Edition Anders Milhøj

ØVELSE 2B. Formål Det primære formål med denne øvelse er at prøve nogle vigtige procedurer til statistisk og grafisk analyse.

En Introduktion til SAS

PROC TRANSPOSE. SAS-tabellen - hensigtsmæssig lagring af data. Copyright 2011 SAS Institute Inc. All rights reserved.

En Introduktion til SAS. Kapitel 5.

Regressionsanalyse i SAS

INTRODUKTION TIL dele af SAS

Faculty of Health Sciences. Basal Statistik. Begreber. Parrede sammenligninger. Lene Theil Skovgaard. 6. september 2016

Variansanalyse i SAS. Institut for Matematiske Fag December 2007

Velkommen til StatBK. Program. Introduktion, summary measures, SAS. Praktisk info. Praktisk info

Anders Milhøj. Hurtigt i gang med statistiske og økonometriske procedurer i SAS

Adgangsgivende eksamen (udeladt kategori: Matematisk student med matematik på niveau A)

APPENDIX A INTRODUKTION TIL DERIVE

Afdeling for Teoretisk Statistik August 2004 Institut for Matematisk fag Aarhus Universitet. Jørgen Granfeldt INTRODUKTION TIL SAS 1

Bilag til Statistik i løb : Statistik og Microsoft Excel tastevejledning / af Lars Bo Kristensen

Indledning. På de følgende sider vises, primært i tegneserieform, lidt om mulighederne i PC-AXIS for Windows.

Easy Guide i GallupPC

Vejledende besvarelse af hjemmeopgave i Basal statistik for lægevidenskabelige forskere, forår 2013

Deskriptiv statistik for hf-matc

Øvelser til basalkursus, 2. uge

Modelkontrol i Faktor Modeller

RESPONSE INSIGHT HURTIG BRUGERMANUAL 2018 ASPEKT R&D A/S VERSION JANUAR 2018

Deskriptiv statistik for matc i stx og hf

Manual opdateret Oktober 2015 Copyright ABC Softwork Aps. Materialet må ikke gengives eller kopieres uden tilladelse. Download din gratis 30 dages

Statistik (deskriptiv)

KURSUS I ANALYSEPORTALEN (AP) DANSK PALLIATIV DATABASE 3 1. ÅBNING AF ANALYSEPORTALEN 3 2. OPRETTELSE AF EN RAPPORT DVS. START AF DATAANALYSE 4

Åbn Paint, som er et lille tegne- og billedbehandlingsprogram der findes under Programmer i mappen Tilbehør. Åbn også Word.

SPSS appendix SPSS APPENDIX. Box plots. Indlæsning. Faculty of Health Sciences. Basal Statistik: Sammenligning af grupper, Variansanalyse

Faculty of Health Sciences. SPSS appendix. Basal Statistik: Sammenligning af grupper, Variansanalyse. Lene Theil Skovgaard. 22.

SPSS appendix SPSS APPENDIX. Box plots. Indlæsning. Faculty of Health Sciences. Basal Statistik: Sammenligning af grupper, Variansanalyse

Anders Milhøj. Hurtigt i gang med statistiske og økonometriske procedurer i SAS

Basal statistik. 30. januar 2007

Øvelser i epidemiologi og biostatistik, 6. april 2010 Baseline-informationer fra Ebeltoft datasættet Eksempel på besvarelse

VÆR EFFEKTIV SOM SAS PROGRAMMØR MED SAS ENTERPRISE GUIDE 7.12 GEORG MORSING

Seriediagrammer - Guide til konstruktion i LibreOffice Calc

Basal Statistik - SPSS

Introduktion til SPSS

Appelsiner, bananer og citroner

SAS formater i Danmarks Statistik

Sådan redigerer du en hjemmeside i Umbraco

SPSS introduktion Om at komme igang 1

Vejledning til AdPoint

Vejledning til opgraderet version af Danmarks Arealinformation

Kvantitative Metoder 1 - Forår Dagens program

MPH specialmodul i epidemiologi og biostatistik. SAS. Introduktion til SAS. Eksempel: Blodtryk og fedme

Normalfordelingen og Stikprøvefordelinger

Tips og tricks til Proc Means. Per Andersen

Kom godt igang med Inventar registrering

EVALUERING I SURVEYXACT TRIN FOR TRIN

matematik Demo excel trin 2 bernitt-matematik.dk 1 excel by bernitt-matematik.dk

Kom igang med Scroll:bit

Analyse af en lineær regression med lav R 2 -værdi

Deltag i en quiz: Test din viden i SAS -programmering

Vejledning i at tegne boksplot i Excel 2007

Introduktion til R. March 8, Regne- og tegneprogrammet R kan frit downloades fra adressen. http : //mirrors.sunsite.dk.cran

Binomial fordeling. n f (x) = p x (1 p) n x. x = 0, 1, 2,...,n = x. x x!(n x)! Eksempler. Middelværdi np og varians np(1 p). 2/

Kort brugermanual til Spirometry PC Software

Fable Kom godt i gang

ALMINDELIGT ANVENDTE FUNKTIONER

Undervisning i Dansk Palliativ Database

DANSK SKOLEDATA APS. Tlf DSA-Ventelisten

Kom godt i gang med Fable-robotten

Indhold Grupperede observationer... 1 Ugrupperede observationer... 3 Analyse af normalfordelt observationssæt... 4

R / RStudio. Intro til R / RStudio

Brug af Discoverer. 1. Start Discoverer ved at klikke på knappen Discoverer på

Basal statistik. Selve sproget. Grafik. Basale procedurer. Faculty of Health Sciences. Lille SAS Manual

Faculty of Health Sciences. Basal statistik. Lille SAS Manual. Lene Theil Skovgaard. 31. januar 2017

Løsning eksamen d. 15. december 2008

Basal Statistik Kategoriske Data

Introduktion til Calc Open Office med øvelser

Opgavebesvarelse, logistisk regression

Dansk manual for app en Safety Observer

Man indlæser en såkaldt frequency-table i SAS ved følgende kommandoer:

Arbejd videre med statistik

matematik Demo excel trin 1 preben bernitt bernitt-matematik.dk 1 excel by bernitt-matematik.dk

1. Opbygning af et regneark

Quick guide Dynamicweb 9. Kom godt i gang med brugen af redigeringsværktøjet bag vores hjemmesideløsning CMS-systemet Dynamicweb

Statistik FSV 4. semester 2014 Holdundervisning Uge 1: 4. februar Introduktion til Stata

ØVELSESGANG 1A EDB PROGRAMMER SAS SOM PROGRAMMERINGSSPROG

Institut for Matematiske Fag Sandsynlighedsregning og Statistik 2. R opgaver

Quick Guide Ditmer edagsorden Oktober 2013

Vejledning. Vejledning til Trio Forvaltningsmodul

Introduktion til SQL queries

Statistiske Modeller 1: Kontingenstabeller i SAS

Lineær og logistisk regression

Matlab-kommandoer. Robert Jacobsen. 9. august 2010

BRUGERMANUAL FOR KLUBKOORDINATORER. Version 2.0

Manual Version 2. til oprettelse af hjemmesider for landsbyer i Rebild kommune

Løsning til øvelsesopgaver dag 4 spg 5-9

Lineær regression i SAS. Lineær regression i SAS p.1/20

EVALUERING I SURVEYXACT TRIN FOR TRIN

Transkript:

SAS systemet Kort introduktion til SAS Janne Petersen Efterår 2013 Styrken i SAS er dets evne til at håndtere store datasæt. Det er hurtigt og har mange statistiske og ikke-statistiske muligheder. Kan "alt", så det er ikke nødvendigt at skifte program undervejs. Alle ph.d.-studerende kan få SAS gratis. En af ulemperne ved SAS er, at det tager noget tid at sætte sig ind i det. Der eksisterer dog forskellige brugervenlige inter-faces, f.eks. Enterprise Guide. Alternative store programmer: SPSS, R og Stata. SAS vinduer Enhanced Editor: Program editor, hvor ens program kode skrives. Dvs. det er her, man fortæller SAS, hvad det er, den skal gøre. Log: Her skrives løbende, hvad SAS laver, noter om fejl m.m. Results Viewer: Output fra ens kørsler, fortløbende. Output: Output fra ens kørsler, fortløbende. Dvs. resultaterne af ens kode. Results: Overblik over output Explorer: Libraries (SAS-software-biblioteker) og File Shortcuts. Kommando linien: Kan give korte kommandoer til SAS, f.eks. help freq. Menu linien: (Den øverste linie) Indeholder forskellige peg og klik muligheder (som alle andre Windows programmer) Værktøjs linien: Forskellige nyttige ikoner.

Filer Fejl i loggen Disse er de vigtigste af de filer, SAS laver, når man kører SAS. - *.SAS filer (SAS program) - *.LOG filer (Log) - *.LST filer (Output) - *.HTML nye SAS output-filer - *.sas7bdat filer (Datasæt) Vigtigt: kig altid log filen igennem, efter du har kørt et program. Note (blå): information, der ikke indikerer en fejl, men en oplysning, som man bør læse, fordi den kan være informativ og god til af finde metodefejl. Eksemper: Antal observationer i et data sæt kan være lavere end forventet. Warning (grøn): viser fejl som SAS selv har kunnet rette. Programmet er gennemført med disse fejl, men tjek om dette er gjort ordentligt. Eksempel: stavefejl. Kør programmet Error (rød): Alvorlige fejl, som SAS ikke kunne rette, programmet er stoppet, og man må selv finde fejlen og rette den. Eksempel: glemt semikolon. Funktionstaster Menulinie Kommando Værktøjslinie F8 Run, Submit Submit Mand, der løber Vær opmærksom på at røde fejl i et datastep betyder, at der ikke bliver lavet noget nyt datasæt. Hvis man kun ønsker at køre en del af sit program, kan man markere delen og køre den.

Hjælpe funktioner Alle SAS datasæt er gemt i et SAS Library. Menulinien "Help" SAS manualen: http://support.sas.com/onlinedoc/913/docmainpage.jsp Kommando feltet: skriv f.eks. help freq. Google is your friend. Der findes to standard Library i SAS ved standard opsætning: WORK og SASUSER I WORK gemmes alle de midlertidige SAS datasæt. Alt i WORK slettes ved lukning af SAS. I SASUSER gemmes alle datasæt permanent, dvs. de er der stadig, når SAS startes næste gang. SAS Programmering SAS programmering foregår i 2 forskellige trin: DATA trin og procedure (PROC) trin. DATA trin: 1. indlæser data fra fil 2. laver transformationer og tilføjer nye variable 3. laver nyt SAS data sæt, med de nye rettelser. Procedure trin: 1. Bruger SAS data sæt 2. Producerer den information, vi vil have, f.eks. tabeller, statistik, grafer m.v.

Data trin Oprettelse af et permanent datasæt. DATA WORK.test; /*Det nye datasæt hedder test*/ SET WORK.test1; /*Indlæser datasættet test1*/ /*Slutter data trinnet*/ Læser det midlertidige datasæt test1 ind fra WORK og gemmer det i det midlertidige datasæt test, også i WORK. - Husk ; efter hver linie. - Det, jeg skriver med store bogstaver, er ord, SAS kender. - Ikke nødvendigt at skrive WORK. - /* starter en kommentar, mens */ slutter en kommentar. LIBNAME us1 "P:\janne\SASkursus"; Tænk på us1 som en forkortelse for stien "P:\janne\SASkursus" DATA us1.test; /*Laver et permanent datasæt.*/ SET test1; /*Indlæser det midlertidige data sæt test1.*/ /*Slutter data trinnet.*/ Denne lille program stump gemmer altså vores midlertidige datasæt test1 i et permanent datasæt test, der lægges i folderen P:\janne\SASkursus. Indlæsning af et permanent SAS datasæt. Indlæsning af.txt filer Indlæsning af et permanent SAS datasæt, test1.sas7bdat, fra folderen P:\janne\SASkursus. LIBNAME us1 "P:\janne\SASkursus"; DATA test; /*Laver et midlertidigt datasæt test i WORK*/ SET us1.test1; /*Indlæser det permanente SAS datasæt test1(.sas7bdat) fra P:\janne\SASkursus*/ /*Slutter data trinnet.*/ PAS PÅ MED AT OVERSKRIVE JERES DATASÆT!! DATA a; INFILE "C:\Basal\hjerte.txt" firstobs=2; INPUT hjerte total; /*Navnene på variablene i datasættet i rigtig række følge*/ Indlæser files hjerte.txt som ligger C:\Basal\ og ligger det over i SAS datasættet a. firstobs fortæller SAS at data først starter i linie 2.

Indtastning af datasæt DATA test1; INPUT id alder sex$; /*liste over variable, der skal læses ind, skriv $ efter tekst variable*/ DATALINES; 1 45 m 2 35 m 3 40 m 4 43 k 5 56 k 6 45 k ; Variable Der er to typer af variable i SAS, numeriske og tekst variable. En typisk tekst variabel er bogstaver, men det kan også være tal. Eksempel: Month med værdierne Jan, Feb,..., Dec. En numerisk variabel er altid tal. Eksempel: alder med værdier 45, 13,..., 30. Eksempelvis middelværdier kan kun beregnes på numeriske variable. Man benytter decimalpunktum, ikke komma. I Explorer vinduet I kan se hvilke variable, der er tekst variable, og hvilke variable, der er nummeriske, ved at højreklikke på jeres datasæt og vælge View Columns. Husk at lukke datasættet igen med det samme! Udvælgelse af variable Sletning af variable DATA test; /*Det nye data sæt hedder test*/ SET test1; /*Indlæser data sættet test1*/ KEEP var1 var2 var3; /*Slutter data trinnet.*/ Indlæser hele test1 datasættet, men gemmer kun variablene var1, var2 og var3 i datasættet test. "Observationer" er rækker i datasættet. "Variable" er kolonner i datasættet. DATA test; /*Det nye data sæt hedder test*/ SET test1; /*Indlæser data sættet test1*/ DROP var1 var2 var3; /*Slutter data trinnet.*/ Indlæser igen hele test1 data sættet, og gemmer alle andre variable i datasættet test end var1, var2 og var3.

Udvælgelse af observationer Sletning af observationer DATA test; SET test1; IF var1>8; /*Vælger alle dem med var1 større end 8*/ Indlæser igen test1 og laver et nyt data sæt test, kun med de observationer/personer, der har mere end 8 i var1. DATA test; SET test1; IF var1>8 THEN DELETE; /*sletter dem med var1 > 8*/ Her gør vi altså det modsatte, vi fjerner dem, der har var1 større end 8 fra test datasættet. Oversigt over forskellige operatorer Hvis det er en tekst variabel, vi laver filter/betingelse på, så skal værdien i plinger ( ) eller i gåseøjne (") (Pas på! Husk at bruge samme slags både før og efter tekststrengen): DATA test; SET test1; IF fag = Mat ; /*Udvælger dem, hvor fag er lig Mat Bemærk, at store/små bogstaver IKKE er lige meget i "Mat", det skal se ud præcis som det er kodet i datasættet. Forklaring Eksempel = EQ lig med karakter = 8 ˆ = NE forskellig fra karakter NE 8 < LT mindre end karakter < 8 > GT større end karakter > 8 <= LE mindre end eller lig karakter LE 8 >= GE større end eller lig karakter GE 8 IN tilhører karakter IN (6, 7, 8) & AND og karakter=8 AND fag= Mat OR eller karakter=8 OR fag= Mat ˆ NOT negation NOT(karakter IN (6,7,8))

Oprettelse af variable ved beregning DATA test; SET us1.test1; k = 10 + var1; /*Ny variabel k, der er var1+10*/ m = 10 * var1; /*Ny variabel m, der er var1*10*/ expvar1=exp(var1); /*Ny variabel expvar1, der er e var1 */ Regneudtryk og funktioner Regneudtryk og funktioner ** Potensopløftning * Multiplikation / Division + Addition - Subtraktion EXP(argument) Eksponentialfunktionen LOG(argument) Naturlig logaritme LOG10(argument) 10-tals logaritme LOG2(argument) 2-tals logaritme SQRT(argument) Kvadratroden ABS(argument) Numerisk værdi INT(argument) Den hele del af ROUND(argument, afrundingsenhed) Afrundet værdi Oprettelse af nye variable ved gruppering Manglende værdier DATA test; SET test1; IF sp5vgt >= 160 THEN tung = ja ; /*Bemærk det ekstra mellemrum efter ja*/ IF sp5vgt < 160 THEN tung= nej ; Tung har værdien ja, hvis personen har en vægt på 160 eller derover, og nej, hvis vægt er under 160 eller manglende. Manglende værdier af en tekst variabel er angivet ved et blankt felt, mens manglende for en nummerisk er angivet ved et., eller et.x Nummerisk manglende. eller.x tæller som, så pas på med f.eks. IF alder<40 THEN..., da dem, der har manglede alder, opfylder at alder<40 i SAS s øjne. Skriv i stedet IF.z<alder<40 THEN... Manglende værdi regner SAS som en værdi på minus uendelig.

SAS programstruktur Procedure trin DATA trin: 1. indlæser data fra fil 2. laver transformationer og tilføjer nye variable 3. laver et nyt SAS datasæt (eller overskriver et gammmelt). Procedure trin: 1. Bruger SAS datasæt 2. Producerer den information, vi vil have, f.eks. tabeller, statistik og grafer. SAS indeholder en lang række procedurer, der er inddelt i moduler efter deres anvendelse Ligesom et data trin altid starter med et DATA, starter et procedure trin altid med et PROC. PROC CONTENTS PROC procnavn DATA=datanavn; (ordrer vedr. udførelsen) Her gælder følgende: datanavn angiver hvilket datasæt, proceduren skal arbejde på. Undlades DATA=datanavn, benytter proceduren det senest oprettede SAS-datasæt. Der findes rigtigt mange forskellige ordrer til hver procedure. Skal man have oplysninger om antallet af observationer og navnene på de variable, der er i datasættet, kan man bruge PROC CONTENTS. PROC CONTENTS DATA=test; Resultaterne af en procedure kommer i Output-vinduet, med mindre man specifikt har bedt SAS om noget andet.

PROC SORT PROC PRINT Denne procedure kan sortere datasættet efter en eller flere variable. PROC SORT DATA= datanavn; BY variabel1; Datasættet datanavn bliver her sorteret efter voksende værdier af variabel1, dvs. fra mindst til størst. Visse procedurer og data trin kræver en sortering af data, før de kan gennemføres. PROC PRINT udskriver datasættet, eller eventuelt kun dele af det. PROC PRINT DATA= test; Udskriver samtlige observationer og samtlige variable til skærmen. PROC PRINT DATA= test; VAR var1 var2; Udskriver variablene var1 og var2 for samtlige observationer. Eksempel: PROC PRINT PROC PRINT DATA= test; WHERE var1 = 8; VAR var1 var2; Udskriver variablene var1 og var2 for dem, der har 8 i var1. Rækkefølgen på VAR og WHERE er ligegyldig. /*sorter datasættet efter det diastoliske blodtryk*/ PROC SORT DATA= test; BY dias; /*printer det systoliske og det diastoliske blodtryk til output vinduet*/ PROC PRINT DATA= test; VAR dias syst;

PROC MEANS Proc Means bruges, når man skal have beregnet summer, gennemsnit, standardafvigelser osv. PROC MEANS DATA=test; VAR hoejde; The SAS System 14:31 Saturday, March 17, 2007 1 The MEANS Procedure Analysis Variable : hoejd Højde N Mean Std Dev Minimum Maximum 18 174.8888889 6.2955529 163.0000000 189.0000000 PROC MEANS Man kan specificere præcis, hvad det er, der skal udregnes, på følgende måde: PROC MEANS DATA=test1 N MEAN P25 P50 P75 SUM; VAR var1; Her skal SAS beregne, hvor mange, der har var1 oplyst, middelværdien, 25, 50 og 75 percentilerne af var1 samt summen af variablen var1. N Antal observationer med ikke manglende værdier NMISS Antal observationer med manglende værdier MEAN x = 1 N N i=1 x i Gennemsnit 1 STD s = N N 1 i=1 (x i x) 2 Spredning MIN x (1) Minimum MAX x (N) Maximum RANGE x (N) x (1) Variationsbredde SUM N i=1 x i Summen af observationerne VAR s 2 = 1 N N 1 i=1 (x i x) 2 Empirisk varians CSS N i=1 (x i x) 2 Kvadratafvigelsessummen CV 100 s x % Variations koefficienten STDERR Estimeret spredning på gennemsnittet s N

Eksempel 2: PROC MEANS Man kan også beregne værdierne for forskellige undergrupper af data: PROC SORT DATA= test1; BY ryger; PROC MEANS DATA=test1 N MEAN P50; VAR gensys gendia; BY ryger; The SAS System 14:31 Saturday, March 17, 2007 33 Ryger De?=Ja, dagligt The MEANS Procedure Variable N Mean 50th Pctl gensys 3 125.6666667 126.6666667 gendia 3 83.1111111 80.0000000 Ryger De?=Ja men der er dage hvor jeg ikke ryger Variable N Mean 50th Pctl gensys 2 127.6666667 127.6666667 gendia 2 79.6666667 79.6666667 Ryger De?=Nej Variable N Mean 50th Pctl gensys 13 124.8461538 125.0000000 gendia 13 77.5641026 80.3333333 PROC FREQ PROC FREQ bruges til at lave tabeller med. Den kan lave eneller flersidede tabeller. Ensidet tabel. PROC FREQ DATA= test; TABLE sp13; The SAS System 09:42 Monday, March 19, 2007 1 The FREQ Procedure I hvilken grad har De haft tillid til, at De har faet den rette sygeplejefaglige behandling? Cumulative Cumulative sp13 Frequency Percent Frequency Percent I høj grad 3 16.67 3 16.67 I nogen grad 11 61.11 14 77.78 I mindre grad 3 16.67 17 94.44 Har ikke faet sygeplejefaglig 1 5.56 18 100.00 behandling SAS tabellerer variablen sp13 på datasættet test.

PROC FREQ Man kan også liste en hel række af variable, man gerne vil have lavet tabeller over. PROC FREQ DATA= test; TABLE var1 var2 var3; Hvis man vil have lavet flervejs tabeller (krydstabeller), sætter man en stjerne imellem de variable der skal tabelleres mod hinanden. sp14t(oplevede De, at der var 1-2 sygeplejerser i afdelingen, der havde særligt ansvar for deres ple sp13(i hvilken grad har De haft tillid til, at De har fået den rette sygeplejefaglige beha Frequency Percent Row Pct I høj gr I nogen I mindre Har ikke Total ad grad grad fået beh Ja 2 3 0 1 6 11.11 16.67 0.00 5.56 33.33 33.33 50.00 0.00 16.67 Nej 1 7 3 0 11 5.56 38.89 16.67 0.00 61.11 9.09 63.64 27.27 0.00 Ved ikke 0 1 0 0 1 0.00 5.56 0.00 0.00 5.56 0.00 100.00 0.00 0.00 Total 3 11 3 1 18 16.67 61.11 16.67 5.56 100.00 PROC FREQ DATA= test; TABLE sp14t*sp13/nocol; Eksempel: PROC FREQ Der bliver her som standard i hver enkelt celle angivet antal observationer, celle procenter, række procenter samt søjle procenter. Men kan ved hjælp af options fjerne nogle af alle disse værdier. PROC FREQ DATA= test; TABLE sp14t*sp13/norow NOCOL NOPERCENT; sp14t(oplevede De, at der var 1-2 sygeplejerser i afdelingen, der havde særligt ansvar for deres pleje?) sp13(i hvilken grad har De haft tillid til, at De har fået den rette sygeplejefaglige behandling?) Frequency I høj gr I nogen I mindre Har ikke Total ad grad grad fået sy geplejef aglig be handling Ja 2 3 0 1 6 Nej 1 7 3 0 11 Ved ikke 0 1 0 0 1 Total 3 11 3 1 18

Grafik PROC GPLOT PROC GPLOT bruges f.eks. til at lave scatter plot med, dvs. hvis man gerne vil plotte to variable mod hinanden: Den mest brugte procedurer til at lave grafik med i SAS er PROC GPLOT. GPLOT bruges til at lave f.eks. scatter plots, men kan lave utrolig meget andet, deriblandt også box plots. PROC GPLOT DATA=algimin; PLOT BMI*alder; QUIT; I PLOT-ordren fortælles hvilke variable, der skal tegnes op mod hinanden. Y-variablen skal stå først. Hvis man gerne vil kunne se forskel på f.eks. sex, kan man lave forskellige symboler alt efter, om det er en mand eller kvinde, man plotter. PROC GPLOT DATA=algimin; PLOT BMI*alder=sex; QUIT;

Man kan få meget mere avancerede plot ved brug af SYMBOL-statements, der fortæller, hvad der skal ske med punkterne og evt. i mellem punkterne. SYMBOL-statements indeholder blandt andet beskrivelser af farve (C=... ), plotsymbol (V=... ), linietype (L=... ) og interpolationsmåde (I=... ), som angiver, om punkterne skal forbindes og i så fald hvordan. Et SYMBOL-statement kan se således ud: SYMBOLn C=BLUE V=PLUS L=1 I=RL; Værdier for n: Tal fra 1 til 255 Værdier for C: Almindelige farvenavne på engelsk. Hvilke der kan bruges afhænger af konfigurationen. Maskinen ændrer selv, hvis man bruger nogle ulovlige Værdier for V: PLUS, STAR, DIAMOND, DOT, NONE etc. Bruger man NONE, bliver selve punkterne ikke tegnet. Værdier for L: Tallene fra 1 til 46 Værdier for I NONE: punkterne forbindes ikke, BOXnn<T><J>: box-plot med whiskers fra nn til 100 nn percentilen (nn=00... 25); medianerne forbindes, hvis man skriver J; mens T betyder, at whiskers slutter med en lille tværstreg JOIN: punkterne forbindes med rette linier, SPLINE: tegner glat kurve gennem punkterne, NEEDLE: tegner lodret linie ned til x-aksen RL: tilpasser bedste rette linie RLCLI<nn>: bedste rette linie med nn-prædiktionsgrænser (nn=50... 99) RLCLM: bedste rette linie med konfidensgrænser RQ: tilpasser bedste andengradspolynomium Værdier for I SMnnS: tilpasser blød kurve, jo større nn er (nn=0... 99), jo mere glat/lige blive kurven STDn: tegner gennemsnit med ±n standarddeviationer (n=1, 2, 3), dvs. forn=2 er det ca 95% prædiktionsgrænser STDnM: tegner gennemsnit med ±n SEM (n=1, 2, 3) (dvs. forn=2 er det ca 95% konfidensgrænser) STEPL<J>: tegner trappefunktion, punkterne er til venstre på stregen; J forbinder de vandrette linier med lodrette linier (så det ligner en trappe) bruges til plots af overlevelseskurver STEPR<J>: tegner trappefunktion, punkterne er til højre på stregen STEPC<J>: tegner trappefunktion, punkterne er på midten af stregen

Eksempel SYMBOL1 C=BLACK V=PLUS L=1 I=RL; PROC GPLOT DATA=algimin; PLOT BMI*alder=1 / FRAME HAXIS=10 TO 70 BY 10 VAXIS=10 TO 60 BY 10; QUIT; Vi har her lavet et plot af BMI mod alder og sat et + for hver observation og samtidige tegnet den bedste rette linie igennem punkterne. Ordren =1 i PLOT statement gør, at det er symbolerne fra SYMBOL1, der bliver brugt. SYMBOL1 C=BLUE V=PLUS L=1 I=RL; SYMBOL2 C=RED I=RQ; PROC GPLOT DATA=algimin; PLOT BMI*alder=1 BMI*alder=2 / FRAME OVERLAY; QUIT; OVERLAY gør, at de to plots bliver tegnet oven i hinanden.

Resultater i word Resultater i Word - lidt pænere version ODS RTF FILE= "C:\Janne\projekter\proj1\descp anal.rtf"; SYMBOL2 C=RED I=RQ; PROC GPLOT DATA=algimin; PLOT BMI*alder=1 BMI*alder=2 /FRAME OVERLAY; QUIT; ODS RTF CLOSE; Alt hvad der står mellem ODS RTF FILE= og ODS RTF CLOSE; bliver kommer over i Word dokumentet C:\Janne\projekter\proj1\descp anal.rtf. ODS RTF FILE= "C:\Janne\descp anal.rtf" BODYTITLE STARTPAGE=NO STYLE=JOURNAL; ODS NOPROCTITLE; SYMBOL2 C =RED I=RQ; PROC GPLOT DATA=algimin; PLOT BMI*alder=1 BMI*alder=2 /FRAME OVERLAY; QUIT; ODS RTF CLOSE; Histogram med normalfordeling PROC UNIVARIATE DATA=a; VAR supar; HISTOGRAM supar/normal; PROBPLOT supar/normal(mu=est SIGMA=est);

Boxplot Data skal være sorteret efter X-variablen i PROC BOXPLOT PROC SORT DATA=a OUT=SortedBySex; BY blodtryk; PROC BOXPLOT DATA= SortedByBlodtryk; PLOT supar*blodtryk/ BOXSTYLE=SCHEMATIC; Hvis hver datalinie tæller for flere personer PROC UNIVARIATE DATA=a; VAR alder; FREQ antal; HISTOGRAM alder/normal; Her tæller hver datalinie for "antal" personer

Hvis hver datalinie tæller for flere personer PROC FREQ DATA=test; TABLE var1 var2 var3; WEIGHT antal; Her tæller hver datalinie for antal observationer/personer