/* 2016.02.29 5. SAS gyakorlat SZTE, Statisztika gyakorlati alkalmazasai */ /* 2009-es ZH modositasanak megoldasa */ /* 1. adatokat generalo SAS kod lefuttatasa --> 2 adatallomany jon letre: EAKADAT es EAKTORZS a sajat konyvtarunkban (most WORK-ben futtattuk, de a feladat szerint sajat libref-ben kell */ /* 2. Adatok megismerese */ proc contents data=eakadat; run; /* Az eakadat allomanyban 6 valtozo van: 4 numerikus, 2 karakteres mutatok: Forgalmazott mennyiseg, teljesitett mennyiseg nomenklaturak: ev, kornyezetvedelmi azonosito, teljesites tipusa, termeles tipusa Megfigyelesek szama: 28229 */ proc contents data=eaktorzs; run; /* Az eaktorzs-ben 3 nomenklatura van: kornyezetvedelmi azonosito, megye, regio Megfigyelesek szama: 10000 */ /* Mivel eaktorzsben csak nomenklaturak vannak, arra gyakorisagokat szamolunk. Egy FREQ elott rendezni kell azon valtozo szerint, amire gyakorisagokat szeretnenk szamolni. Alkalmazzuk az OUT opciot, hogy a rendezessel ne irjuk folul az eredeti allomanyt! */ proc sort data=eaktorzs out=et; by regio; run; proc freq data=et; table regio; run; /* A legtobb adat az 1. regioban van (n=2777), majd a 6-ban (n=2453). */ /* Ertek jellegu valtozok leiro statisztikaja */ proc means data=eakadat; var forgmenny teljmenny; run; /* Az atlagos forgalmazott mennyiseg 5015.41, az atlagtol vett atlagos elteres 2894.73, 28229 eset alapjan szamolva */ /* hisztogram rajzolasa az eloszlas jellemzesere */ proc univariate data=eakadat; var forgmenny teljmenny; histogram; run; /* A forgalmazott mennyiseg egyenletes eloszlasunak tunik, mig a teljesitett mennyiseg jobbra ferde eloszlast mutat */ /* Evenkenti leiro statisztikak */ proc sort data=eakadat out=ea; by ev; run; proc means data=ea; var forgmenny teljmenny; by ev; run; /* Az atlagos forgalmazott mennyiseg 2007-ben volt a legmagasabb: 5022.28 majd 2008 (5015.99) es 2006-ban a legkevesebb (5007.77). A legtobb adat 2008-bol szarmazik: n=9804, majd 2007 (n=9308) es vegul 2006 (n=9117) */ /* Bovebb leiro statisztika ugyanerre */ proc univariate data=ea; var forgmenny teljmenny; by ev; histogram; run; /* Termeles tipusonkent leiro statisztikak */ proc sort data=eakadat out=ea; by termtip; run; proc means data=ea; var forgmenny teljmenny; by termtip; run; /* 3. Statisztikai tabla: nem teljesen a feladatkiiras szerinti tablat keszitjuk el most a teljesites tipusa szerint (H, V, B) nem kepezunk uj valtozokat, ezert kevesebb oszlop lesz a kapott tablankban */ /* Adatallomanyok parositasahoz rendezni kell kulon a ket allomanyt a kozos kulcs alapjan */ proc sort data=eaktorzs out=et ; by kujszam; run; proc sort data=eakadat out=ea ; by kujszam; run; /* Adatok parositasa: csak a kozos sorokkal, 2008-as ev levalogatasa */ data egyutt_2008; merge et (in=t) ea (in=a where=(ev=2008)); by kujszam; if t and a; run; /* nyers tablazas */ proc tabulate data=egyutt_2008; class regio megye teljtip termtip; var forgmenny teljmenny; table regio all, termtip, forgmenny teljmenny teljmenny*mean; run; /* Formazas */ proc format; value termt 1 = "Hordozható elemek és akkumulátorok" 2 = "Ipari elemek és akkumulátorok" 3 = "Gépjármű elemek és akkumulátorok" ; value $regi "1" = "Közép-Dunántúl" "2" = "Észak-Alföld" "3" = "Dél-Dunántúl" "4" = "Észak-Magyarország" "5" = "Nyugat-Dunántúl" "6" = "Közép-Magyarország" "7" = "Dél-Alföld" "9" = "Külföld" ; run; title "Forgalmazott és teljesített mennyiségek régiónként termék típusokra 2008-ban"; proc tabulate data=egyutt_2008; class regio megye teljtip termtip; var forgmenny teljmenny; table regio="" all="Összes régió", termtip="", forgmenny="Összes forgalmazott mennyiség" teljmenny="Teljesített mennyiség" teljmenny="Átlagos teljesített mennyiség"*mean /box="Termék típus"; keylabel sum=" " mean=" "; format termtip termt. regio $regi. ; run;