/* 2016.02.08 Masodik SAS gyakorlat SZTE, Statisztika gyakorlati alkalmazasai */ /* A kekszalag Excel file megismerese utan a mult oran beolvasott "kekszalag" adatallomanyban adatkezeles: - valtozok megtartasa (KEEP) --> adatbeolvasaskor memoriatakarekosabb (SET-ben) - valtozok kepzese: ora, perc, mp, fido - substr(valtozo,honnan,mennyit): karakteres 'valtozo' adott karakteretol (honnan) beolvasunk adott szamu (mennyit) karaktert - feltetel: if ... then ...; else ...; - _N_ adott sor sorszama az adatallomanyban - relaciok: lt (less than), eq (equal), gt (greater than), le (less than or equal to), ge (greater than or equal to) */ data cs2016.kekebb; set cs2016.kek (keep=kateg ys futott befut korrig); ora = substr(befut,1,2); perc = substr(befut,4,2); mp = substr(befut,7,2); if _N_ lt 5 then fido = 3600*ora + 60*perc + mp - 9*3600; else fido = 15*3600 + 3600*ora + 60*perc + mp ; run; /* Gyorsasag (ys: yardstick szam) szerint 3 adatallomanyba levalogatas: cs2016.GYORS n=931, 9 valtozo cs2016.KOZEPES n=353, 9 valtozo cs2016.LASSU n= 54, 9 valtozo - Elobb IF vezerlesi szerkezettel - majd If helyett SELECT-tel */ data cs2016.gyors cs2016.kozepes cs2016.lassu ; set cs2016.kekebb ; if ys le 90 then output cs2016.gyors ; else if ys le 110 then output cs2016.kozepes; else output cs2016.lassu ; run ; data cs2016.gyors cs2016.kozepes cs2016.lassu ; set cs2016.kekebb ; select ; when (ys le 90) output cs2016.gyors ; when (ys le 110) output cs2016.kozepes ; otherwise output cs2016.lassu ; end; run ; /* Leiro statisztikak: esetszam, atlag, szoras, min, max */ proc means data=cs2016.lassu; run; /* Reszletesebb leiro statisztika Kerheto hisztogram (folytonos valtozo gyakorisagi eloszlasa) es megadhato, hogy melyik valtozora kerunk csak abrat (most ys-re) */ proc univariate data=cs2016.lassu; histogram; run; proc univariate data=cs2016.lassu; histogram ys; run; proc univariate data=cs2016.kozepes ; histogram ; run ; /* linearis korrelacio a valtozoparok kozott a teljes adatallomanyra */ proc corr data=cs2016.kekebb; run;