PROC FREQ in SAS geeft ons, zoals de naam al zegt, de frequentietellingen, evenals andere statistieken die helpen bij het analyseren van de gegevens. Maar de procedure Proc Freq kan meer dan alleen de telling geven.

Pagina-inhoud

Wat is PROC FREQ?

PROC FREQ is een procedure voor het analyseren van de telling van gegevens. Het wordt gebruikt om frequentietellingen te verkrijgen voor een of meer afzonderlijke variabelen of om tweewegtabellen (kruistabellen) te maken van twee variabelen.

PROC FREQ wordt ook gebruikt om statistische tests uit te voeren op telgegevens.

PROC MEANS is een andere SAS-procedure, waarmee u beschrijvende statistieken kunt berekenen, zoals het vinden van het gemiddelde, de standaardafwijking, minimum- en maximumwaarden, en nog veel meer statistische berekeningen.

Proc freq is misschien de eerste procedure waaraan u zou denken als het benodigde resultaat een telling is. Voor het doel van deze tutorial heb ik het voorbeeld genomen van de SASHELP.HEARTS dataset. Hier kan het worden gebruikt om het aantal proefpersonen met bp_status=’Normal’ te vinden, het aantal MANNELIJKE en MANNELIJKE proefpersonen in de dataset te tellen.

Maar wat als het benodigde resultaat niet noodzakelijkerwijs een telling is? Proc freq kan een nuttig hulpmiddel zijn voor andere doeleinden dan tellen. Hieronder volgen enkele veel voorkomende soorten vragen die in deze categorie passen:

  • Welk percentage van de mannen en vrouwen heeft een hartkwaal?
  • Wat is het aantal proefpersonen dat is overleden als gevolg van een hoog cholesterolgehalte?
  • Wat is de doodsoorzaak van de proefpersonen?
  • Wie zijn de getroffen proefpersonen?
  • Zijn er proefpersonen met niet-unieke records?

Proc freq is misschien niet de eerste methode waaraan gedacht wordt om vragen als deze te beantwoorden, maar het kan een zeer snelle en efficiënte optie zijn om te gebruiken.

Waarom zou proc freq een goede kandidaat kunnen zijn voor deze snelle antwoorden? Ten eerste hoeft er in deze gevallen minder te worden getypt dan bij andere methoden. Dit kan zowel tijd besparen als typefouten verminderen.

Daarnaast kunnen er al enkele freqs in de maak zijn om een kwestie te controleren wanneer er verdere vragen rijzen. Dus het verkrijgen van de resultaten uit de bestaande frequentietellingen in plaats van dataverwerking kan een logische volgende stap zijn.

Ten slotte zijn er, gebruikmakend van de output datasets die proc freq levert, gemakkelijk beschikbare lijsten van unieke waarden, combinaties en tellingen.

Syntax van PROC FREQ

PROC FREQ <options>; BY variables ; EXACT / <statistic-options> ; OUTPUT <OUT=sas dataset options> ; TABLES requests </options> ; TEST </options> ; WEIGHT variable </options> ;

PROC FREQ Verklaringen

  • BY Geeft afzonderlijke analyses voor elke BY-groep
  • EXACT Vraagt exacte tests aan.
  • OUTPUT Vraagt een verzameling uitvoergegevens aan.
  • TABLES Specificeert tabellen en vraagt analyses aan.
  • TEST Vraagt tests aan voor associatie- en overeenkomstmaten.
  • WEIGHT Identificeert een gewichtsvariabele.

PROC FREQ Opties

PROC FREQ heeft verschillende mogelijke uitvoerverzoeken. De meest voorkomende is de OUT= optie die wordt gebruikt om een SAS dataset van een bepaalde tabellering te maken.

Opties voor het tabelstatement worden gevolgd door een schuine streep. De “/” lost de dubbelzinnigheid op of het woord dat je gebruikt een variabele naam is of een SAS sleutelwoord en dus vertelt de “/” SAS de argumenten voor de tabel eindigt en wat er na opties komt is om het standaard gedrag van het statement te wijzigen.

Een ander voorbeeld is de NOCOL optie wanneer deze wordt gebruikt, SAS te vragen om geen kolom percentages te tonen.

Voorbeeld van PROC FREQ

Hieronder volgt een eenvoudig gebruik van PROC FREQ in SAS, om tellingen te verkrijgen van het aantal Studenten dat in elke categorie van Geslacht is waargenomen.

proc freq data=sashelp.class;table sex;run;

Proc Freq SAS

Proc Freq SAS

TABLES leeftijd*gewicht / CHISQ;

De bovenstaande verklaring vraagt om de chi-kwadraat en gerelateerde statistieken te rapporteren voor de kruistabel A*B.

Scenario 1. Wat is het aantal mannen en vrouwen met bp_status Hoog en Gewichtsstatus Overgewicht?

Voor dit soort scenario’s kunnen Sorts en data steps worden gebruikt of proc SQL is een andere optie. Een gegevensstap zou de eerste gedachte voor een oplossing kunnen zijn. Dit houdt in dat eerst de gegevens moeten worden gesorteerd met proc sort. Dan moeten de records van belang en uniek geslacht geselecteerd worden (data step). Dan de output van het record (proc print).

Maar proc freq kan deze vraag in één blok code beantwoorden zonder een data step! Een proc freq kan worden gebruikt met een WHERE statement om te subseteren naar de bp en gewicht status.

proc freq data=sashelp.heart;where bp_status='High' and weight_status='Overweight';tables sex /nocum;run;

PROC FREQ in SAS 1

PROC FREQ in SAS 2

Een TABLES-verklaring van geslacht kan dan worden gebruikt om een unieke lijst te krijgen van het geslacht dat in die deelverzameling is opgenomen. De optie NOCUM wordt gebruikt om de cumulatieve frequentie niet in het resultaat op te nemen.

Scenario 2: Welke producten worden beïnvloed door de voorspellingswaarde?

Voor dit scenario heb ik de SASHELP.PRDSALE-dataset gebruikt. Stel dat is vastgesteld dat er een aantal producten zijn waarvan de Werkelijke Verkoopprijs groter is dan de voorspelde prijs.

De eerste vraag is waarschijnlijk: Bij welke producten is de werkelijke prijs hoger dan de voorspelde prijs?

Maar dit is het soort vraag waarbij de resultaten tot veel vervolgvragen kunnen leiden en de reikwijdte van het onderzoek en de analyse kan worden uitgebreid, zodat extra coderingsstappen nodig zijn om de oorzaak van het probleem te achterhalen.

Overschillig welke methode wordt gevolgd, het onderzoek begint met een dataset die zowel de labgegevens als de datum van de geïnformeerde toestemming ter vergelijking bevat.

Deze vraag kan worden beantwoord door binnen een gegevensstap te werken of door de proc freq methode te gebruiken.

Gegevensstapmethode:

Werken binnen een gegevensstap, als de dataset nog niet is gesorteerd, zou eerst een proc sort komen en dan een gegevensstap om de unieke productwaarden van belang te selecteren.

proc sort data=sashelp.prdsale out=sale;by product;run;data unique_product(keep=product);set sale(where=(actual > predict));by product;if first.product;run;

Proc freq methode:

Werkend met een proc freq, zouden we eenvoudig een freq kunnen doen met USUBJID in het TABLES statement naast het WHERE statement te gebruiken om te subseteren naar de records met kwestie:

proc freq data=sashelp.prdsale;where actual gt predict;tables product /list missing nocum;run;

PROC FREQ in SAS 3

PROC FREQ in SAS 4

One-Way Frequency Tables

U kunt PROC FREQ gebruiken om tabellen met de frequentie/tellingen per categorie te produceren en op de tellingen uit te voeren.

Met de optie ORDER=FREQ

proc freq data=data.flighttravelers order=freq;table day_of_booking;run;

De FREQ-procedure in SAS

De FREQ-procedure in SAS
  • PROC FREQ in bovenstaand voorbeeld bevat de optie ORDER=FREQ.
  • Door de optie ORDER=FREQ te gebruiken, kunt u snel analyseren welke categorieën de meeste en de minste tellingen hebben.
  • De kolom “Frequentie” geeft de telling van het aantal keren dat de variabele dag_van_boeking de waarde in de kolom aanneemt.
  • De kolom “Percentage” geeft het percentage van het totaal.
  • De kolommen “Cumulatieve frequentie” en “Percentage” melden een toename van de telling en het percentage voor waarden van day_of_booking.

U gebruikt dit soort inzichten om meer te weten te komen over de verdeling van de categorieën in uw gegevensverzameling.

Bijv. in deze gegevens hebben 28 mensen op zondag een vlucht geboekt.

Het gebruik van de optie ORDER=FORMATTED.

Met de optie ORDER=FORMATTED kunt u de volgorde bepalen waarin de categorieën in de tabel worden weergegeven.

Voordat u deze optie gebruikt, moet u een aangepaste opmaak maken om de volgorde te bepalen die u in de uitvoer wilt hebben.

proc freq order=formatted data=data.flighttravelers;tables day_of_booking;title "Example of PROC FREQ with Formatted Values";format day_of_booking $dayfmt.;run;

Proc Freq SAS Options

Proc Freq SAS Options

Een een-weg-frequentietabel maken van een samengevatte tabel.Way Frequency table from a summarized data

Als de gegevens al zijn samengevat, kunt u het WEIGHT statement gebruiken om de variabelen aan te geven die de telling vertegenwoordigen.

proc freq;weight count;title 'Reading Summarized Count data';tables category;run;

Lezen van samengevatte gegevens in Proc Freq

Lezen van samengevatte gegevens in Proc Freq

WEIGHT COUNT vertelt PROC FREQ dat de gegevens voor de variabele COUNT tellingen zijn. Hoewel er twee records zijn voor CENTS, kan het programma het WEIGHT combineren tot een enkele CENTS-categorie (252 CENTS).

Goodness of Fit testen met PROC FREQ in SAS

PROC FREQ in SAS kan ook worden gebruikt voor het testen van goodness of fit voor eenrichtings. tabel. Een goodness-of-fit test van een enkele populatie is een test die wordt gebruikt om te bepalen of de verdeling van waargenomen frequenties in de steekproefgegevens het verwachte aantal voorvallen voor de populatie weergeeft.

Aannemende dat het aantal waarnemingen vast is.

De hypothesen die worden getoetst zijn als volgt:

  • H:0 De populatie volgt de veronderstelde verdeling.
  • H: a De populatie volgt de veronderstelde verdeling niet.

Een chi-kwadraattoets is een van de goodness-of-fit toetsen. Op basis van de p-waarde die bij die statistiek hoort, kan een beslissing worden genomen.

Een lage p-waarde geeft aan dat de gegevens niet de veronderstelde, of theoretische, verdeling volgen.

Als de p-waarde voldoende laag is (meestal <0.05), zult u de nulhypothese verwerpen.

De syntaxis om een goodness-of-fit test uit te voeren is als volgt:

PROC FREQ;
TABLES variabele / CHISQ TESTP=(lijst van verhoudingen);

Voorbeeld:

Een luchtvaartmaatschappij voert dagelijkse vluchten uit naar verschillende Indiase steden. Een van de problemen voor deze luchtvaartmaatschappij is de voedselvoorkeur van de passagiers. De chef-kok operations manager denkt dat 35% van hun passagiers vegetarisch eten verkiest, 40% liever vegetarisch. 20% caloriearm voedsel en 5% vraagt om diabetisch voedsel.

Een steekproef van 500 passagiers werd willekeurig gekozen om de voedselvoorkeuren te analyseren en de gegevens zijn hieronder weergegeven.

We zullen een CHI-SQURE Test uitvoeren om te controleren of de overtuiging van Captain Cook waar is bij alpha=0.05

Levensmiddel Vegetarisch Niet-Vegetarisch Laag-calorie diabetisch
Aantal passagiers 190 185 90 35

Oplossing:

proc freq data=airlines order=data;weight no_of_passengers;title 'goodness of fit analysis';tables foodtype / nocum chisq testp=(0.35 0.40 0.20 0.05);run;

PROC FREQ CHI SQUARE TEST

PROC FREQ CHI SQUARE TEST
  • De gegevens worden samengevat als door het GEWICHT Aantal_van_passagiers.
  • De ORDER=DATA wordt gebruikt om de gegevens te ordenen zoals in de input-dataset. De frequenties zijn gebaseerd op de variabele Food_Type.
  • De verklaringen /NOCUM CHISQ en TESTP= worden gebruikt om de goodness-of-fit test te berekenen.
  • De testratio’s zijn gebaseerd op het percentage nakomelingen dat van elk van de vier categorieën wordt verwacht.
  • De optie NOCUM vraagt om een tabel zonder de cumulatieve kolom.

Opmerking: U moet de ORDER=DATA optie gebruiken om er zeker van te zijn dat de hypothesized ratio’s die in het TESTP= statement staan correct overeenkomen met de categorieën in de invoergegevens.

De p-waarde voor de chi-kwadraat toets(p=7,4107) is groter dan de kritische waarde(a=0,05), daarom concluderen we dat Captain Cook’s overtuiging over voedselvoorkeuren waar is.

Chi-Square Test of Independence – Analyzing Two-way tables using PROC FREQ in SAS

Met PROC FREQ in SAS kunnen we de Chi-Square test of Independence uitvoeren, we testen of twee of meer groepen statistisch onafhankelijk zijn of niet.

Het TABLES statement met twee of meer variabelen vermeld en gescheiden door een asterisk creëert een kruistabel voor het relateren van twee variabelen.

De kruistabel wordt vaak een contingentietabel genoemd.

Het tellen van het aantal voorkomens in een steekproef over twee groeperingsvariabelen creëert een kruistabel.

In het onderstaande voorbeeld willen we de relatie bepalen tussen criminaliteit en het drinken van alcohol.

De onafhankelijke variabele is CRIME en de afhankelijke variabele is de DRINKER.

Dus de verklaring van de kruistabel wordt

TABLES CRIME*DRINKER

De nul- en alternatieve hypothese zijn in dit geval:

  • h_0 : De variabelen zijn onafhankelijk, wat betekent dat er geen verband is tussen criminaliteit en het drinken van alcohol
  • h_a : De variabelen zijn afhankelijk, wat betekent dat de criminaliteit afhankelijk is van het drinken van alcohol

PROC FREQ in SAS 5

PROC FREQ in SAS 6
proc freq data=drinkers;weight count;tables crime*drinker/chisq expected norow nocol nopercent;title 'chi square analysis of a contingency table';run;

PROC FREQ in SAS 7

PROC FREQ in SAS 8

Bestandaardig, de tabel vier getallen in elke cel: de totale frequentie, het totale percentage, het rijpercentage en het kolompercentage, zoals hieronder.

PROC FREQ in SAS 9

PROC FREQ in SAS 10

De EXPECTED geeft aan dat verwachte waarden in de tabel moeten worden opgenomen, en NOROW, NOCOL en NOPERCENT geven SAS opdracht deze waarden uit te sluiten van de tabel.

PROC FREQ in SAS 11

PROC FREQ in SAS 12

Observeer de statistieken uit de uitvoer. De chi-kwadraatwaarde is 49,5660 en p<0,0001.

Dus verwerpt u de nulhypothese, d.w.z. er is geen verband (onafhankelijkheid), en concludeert u dat er bewijs is voor een verband tussen de drinkstatus en het type misdrijf dat wordt gepleegd.

PROC FREQ in SAS 13

PROC FREQ in SAS 14

De meeste verwachte waarden liggen dicht bij de waargenomen waarden, terwijl in het geval van Fraude de waargenomen waarde(63) afwijkt van wat werd verwacht(109.14).

Deze informatie leidt tot de conclusie dat degenen die bij fraude betrokken zijn, minder vaak alcohol drinken.

Relatief risico berekenen met PROC FREQ in SAS

Twee-bij-twee contingentietabellen worden vaak gebruikt bij het onderzoeken van een risicomaatstaf. In een medisch onderzoek worden dit soort tabellen geconstrueerd wanneer één variabele de aan- of afwezigheid van ziekte vertegenwoordigt en de andere een of andere risicofactor aangeeft.

Een maatstaf voor dit risico in een case-controlstudie wordt de odds ratio (OR) genoemd.

In een case-controlstudie neemt een onderzoeker een steekproef van proefpersonen en kijkt terug in de tijd voor elke blootstelling of niet-blootstelling aan ziekte.

In een cohortstudie worden proefpersonen geselecteerd op de aan- of afwezigheid van risico en vervolgens in de tijd geobserveerd om te zien of zij een uitkomst ontwikkelen, de maatstaf voor dit risico wordt het relatieve risico (RR) genoemd.

ODDS-verhouding is hoeveel groter de kans is dat een blootstelling wordt gevonden bij iemand met een ziekte dan wanneer de blootstelling wordt gevonden bij iemand zonder de ziekte.

Relatief risico geeft aan hoeveel keer meer of minder waarschijnlijk het is dat een blootgestelde persoon een uitkomst ontwikkelt in vergelijking met een niet-blootgestelde persoon.

In beide gevallen duidt een risicomaatstaf (OR of RR) gelijk aan 1 op geen risico.

Een risicomaatstaf verschillend van 1 duidt op een risico. Ervan uitgaande dat de bestudeerde uitkomst ongewenst is.

  • Risicomaat >1 duidt op een verhoogd risico op de uitkomst.
  • Risicomaat <1 duidt op een verlaagd risico op de uitkomst.
  • Risicomaat = 1 duidt op geen risico.

In PROC FREQ is de optie om de waarden voor OR of RR te berekenen RELRISK en verschijnt deze als een optie bij het TABLES statement, zoals hier is afgebeeld:

TABLES CHOLESTROLDIET*OUTCOME / CHISQ RELRISK;

Voorbeeld

CHI SQUARE

CHI SQUARE
proc freq data=HeartDisese order=data;title 'Case-Control Study of High Fat/Cholesterol Diet';TABLES CHOLESTROLDIET*OUTCOME / CHISQ RELRISK;exact pchi or;weight Total;run;

Case Control Study voor ODS ratio

Case Control Study for ODS ratio

Frequentie vertelt ons hoeveel proefpersonen we hebben in het LOW Cholesterol-dieet met GEEN/YES hartaandoeningen als uitkomst.

Als we de eerste rij interpreteren, hebben 6 proefpersonen met LAAG cholesterol GEEN hartziekte, terwijl 2 proefpersonen met LAAG cholesterol HARTZIEKTE hebben.

Verwacht geeft de werkelijke waarde ten opzichte van de waargenomen waarde aan.

Het percentage is het totale percentage dat aangeeft dat van alle proefpersonen 26,09 % van de mensen die het LOW cholesterol dieet volgen geen hartziekte heeft.

Het percentage vertelt ons het percentage van de proefpersonen die het LOW cholesterol dieet volgen GEEN hartziekte heeft van de 8 proefpersonen die het LOW cholesterol dieet volgen. Dat wil zeggen dat 75% van de mensen met een laag cholesterolgehalte geen hartaandoening heeft.

COL Percentage vertelt ons het percentage mensen met een laag cholesterolgehalte dat geen hartaandoening heeft. Dat wil zeggen dat 6 van de 10 mensen met een laag cholesterolgehalte 60% hebben. terwijl 80% van de mensen met hartkwalen in het HOGE cholesteroldieet zit.

De CHI-SQUARE testinterpretatie vertelt ons de associatie van deze variabelen tussen wat werd verwacht en wat is waargenomen.

Proc Freq SAS

Proc Freq SAS

De Chi-Square-statistieken (4.9597) zijn lager dan de P-waarde (0,0259), wat aangeeft dat er een verband is tussen wat werd verwacht en wat is waargenomen.

De waarschuwing

Eén van de aannames van de CHI-SQUARE-test is dat de waargenomen waarde in elke cel groter moet zijn dan 5. In het bovenstaande voorbeeld hebben we 4 en 2 die kleiner zijn dan 5. In deze gevallen is het passender om Fisher’s Exact-test te gebruiken.

PROC FREQ in SAS 15

PROC FREQ in SAS 16

De Fisher’s Exact-test (0.0393), wat statistisch significant is bij een alfa van 5%. dus we kunnen zeggen dat er een associatie is en dat een HOOGVET-dieet misschien geassocieerd is met een HOOG risico op hoorziekten.

De EXACTE verklaring is voor PICHI wat betekent P-waarde voor de CHI-SQUARE outputs de onderstaande tabel.

PROC FREQ in SAS 17

PROC FREQ in SAS 18

PROC FREQ in SAS 19

PROC FREQ in SAS 20
  • text{Odds ratio} = frac {text{ods van blootstelling in een groep}}{text{ods van blootstelling niet in een groep}}
  • LARGE frac {6/2} {4/11} = 8,25

Odds ratio – 8,25 met 95%-betrouwbaarheidsgrens wat betekent dat de kans op het hebben van een hartaandoening 8 keer zo groot is als bij de mensen die geen hartaandoening hebben

Het relatieve risico van 2,88 geeft aan dat de hartaandoening 2,88 keer zo groot is in de groep met HOGE VETHEID. (Verhoogd risico).

Het relatieve risico van 0,34 vertelt ons dat, er een verlaagd risico (0,34 keer minder)is van LAAG cholesterol en hartziekten.

Omdat we EXACT op ODDs Ratio hebben gespecificeerd, krijgen we de laatste tabel zoals hieronder.

PROC FREQ in SAS 21

PROC FREQ in SAS 22

De odds ratio is hetzelfde als de bovenstaande, namelijk 8.25, maar het geeft ook de exacte betrouwbaarheidslimiet.

Download Proc-Freq, oefenbestanden,…

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *