PROC FREQ w SAS, jak sama nazwa wskazuje, daje nam zliczenia częstotliwości, a także inne statystyki, które pomagają w analizie danych. Ale procedura Proc Freq może zrobić więcej niż tylko podać zliczenia.

Spis treści strony

Co to jest PROC FREQ?

PROC FREQ jest procedurą służącą do analizy zliczania danych. Służy do uzyskiwania zliczeń częstości dla jednej lub więcej pojedynczych zmiennych lub do tworzenia tabel dwukierunkowych (tabel krzyżowych) z dwóch zmiennych.

PROC FREQ służy również do wykonywania testów statystycznych na danych zliczeniowych.

PROC MEANS to kolejna procedura SAS, której można użyć do obliczenia statystyk opisowych, takich jak znalezienie średniej, odchylenia standardowego, wartości minimalnych i maksymalnych oraz wielu innych obliczeń statystycznych.

Proc freq może być pierwszą procedurą, która przychodzi na myśl, gdy potrzebny wynik jest liczbą. Dla celów tego poradnika, wziąłem przykład zbioru danych SASHELP.HEARTS. W tym przypadku można ją wykorzystać do znalezienia liczby osób z bp_status=’Normal', policzenia liczby osób płci męskiej i żeńskiej w zbiorze danych.

Ale co, jeśli potrzebny wynik niekoniecznie jest liczbą? Proc freq może być pomocnym narzędziem do celów innych niż liczenie. Poniżej znajdują się niektóre z powszechnych typów pytań, które mogą się pojawić, a które pasują do tej kategorii:

  • Jaki procent mężczyzn i kobiet cierpi na choroby serca?
  • Jaka jest liczba osób, które zmarły z powodu wysokiego poziomu cholesterolu?
  • Jaka jest przyczyna śmierci osób badanych?
  • Kto jest podmiotem, na który ma wpływ?
  • Czy jakikolwiek podmiot ma nie-unikalne rekordy?

Proc freq może nie być pierwszą metodą odpowiedzi na pytania takie jak te, ale może być bardzo szybką i efektywną opcją do wykorzystania.

Dlaczego proc freq może być dobrym kandydatem do tych szybkich odpowiedzi? Po pierwsze, w tych przypadkach jest mniej wpisywania niż w innych metodach. To może zaoszczędzić czas, jak również zmniejszyć ilość literówek.

Dodatkowo, może być już kilka freqów w pracach, aby sprawdzić problem, gdy pojawią się kolejne pytania. Tak więc uzyskanie wyników z istniejących zliczeń częstotliwości zamiast przetwarzania danych może być logicznym następnym krokiem.

Na koniec, używając wyjściowych zbiorów danych dostarczonych przez proc freq, istnieją łatwo dostępne listy unikalnych wartości, kombinacji i zliczeń.

Składnia PROC FREQ

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

Deklaracje PROC FREQ

  • BY Zapewnia oddzielne analizy dla każdej grupy BY
  • EXACT Żąda dokładnych testów.
  • OUTPUT Żąda wyjściowego zestawu danych.
  • TABLES Określa tabele i żąda analiz.
  • TEST Żąda testów dla miar asocjacji i zgodności.
  • WEIGHT Określa zmienną wagową.

PROC FREQ Opcje

PROC FREQ ma kilka różnych możliwych żądań wyjściowych. Najbardziej powszechna jest opcja OUT=, która jest używana do tworzenia zbioru danych SAS o określonej tabulacji.

Opcje dla instrukcji table są poprzedzone ukośnikiem. Znak „/” rozwiązuje niejasność co do tego, czy słowo, którego używasz, jest nazwą zmiennej czy słowem kluczowym SAS, a zatem znak „/” mówi SAS-owi o argumentach kończących tabelę, a wszystko, co znajduje się po opcjach, ma zmodyfikować domyślne zachowanie instrukcji.

Innym przykładem jest opcja NOCOL, gdy jest używana, żąda od SAS-u, aby nie pokazywał wartości procentowych kolumn.

Przykład PROC FREQ

Poniżej przedstawiono podstawowe zastosowanie PROC FREQ w SAS, w celu uzyskania zliczeń liczby studentów zaobserwowanych w każdej kategorii płci.

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

Proc Freq SAS

Proc Freq SAS

TABLES wiek*waga / CHISQ;

Powyższe stwierdzenie wymaga, aby statystyki chi kwadrat i pokrewne były raportowane dla tabeli krzyżowej A*B.

Scenariusz 1. What is the count of male and female with bp_status of High and Weight Status of Overweight?

Dla tego typu scenariuszy można użyć sortowania i kroków danych lub proc SQL jest inną opcją. Krok danych może być pierwszą myślą dla rozwiązania. Polega on na posortowaniu danych za pomocą proc sort. Następnie należy wybrać interesujące nas rekordy z unikalną płcią (krok danych). Następnie wypisanie rekordu (proc print).

Ale proc freq może odpowiedzieć na to pytanie w jednym bloku kodu bez kroku danych! proc freq może być użyty z instrukcją WHERE do podzbioru na stan bp i wagę.

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

PROC FREQ w SAS 1

PROC FREQ w SAS 2

Zestawienie TABLES z płcią może być następnie użyte w celu uzyskania unikalnej listy płci zawartych w tym podzbiorze. Opcja NOCUM jest używana do wykluczenia częstotliwości skumulowanej z wyniku.

Scenariusz 2: Na które produkty wpłynęła wartość predykcji?

Do tego scenariusza użyłem zbioru danych SASHELP.PRDSALE. Wyobraźmy sobie, że stwierdzono, że istnieją pewne produkty, w przypadku których rzeczywista cena sprzedaży jest większa niż cena przewidywana.

Pierwsze pytanie jest prawdopodobne: Które to są te produkty, które mają Rzeczywistą większą niż Przewidywaną?

Jest to jednak ten rodzaj pytania, w przypadku którego wyniki mogą prowadzić do wielu pytań uzupełniających, a zakres dochodzenia i analizy może się rozszerzyć, wymagając dodatkowych kroków kodowania, aby dotrzeć do pierwotnej przyczyny problemu.

Niezależnie od zastosowanej metody, badanie rozpocznie się od zbioru danych zawierającego zarówno dane laboratoryjne jak i datę świadomej zgody w celu porównania.

Na to pytanie można odpowiedzieć pracując w ramach kroku danych lub używając metody proc freq.

Metoda kroku danych:

Pracując w ramach kroku danych, jeśli zbiór danych nie jest jeszcze posortowany, najpierw nastąpi sortowanie proc, a następnie krok danych w celu wybrania unikalnych wartości produktu, które są przedmiotem zainteresowania.

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;

Metoda proc freq:

Pracując z proc freq, moglibyśmy po prostu wykonać freq z USUBJID w instrukcji TABLES dodatkowo używając instrukcji WHERE do podzbioru na rekordy z wydaniem:

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

PROC FREQ w SAS 3

PROC FREQ w SAS 4

Jednokierunkowe.way Frequency Tables

Można użyć PROC FREQ do stworzenia tabel częstości/liczb według kategorii i wykonać na liczbach.

Użycie opcji ORDER=FREQ

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

PROCES FREQ w SAS

PROcedura FREQ w SAS
  • PROC FREQ w powyższym przykładzie zawiera opcję ORDER=FREQ.
  • Użycie opcji ORDER=FREQ pozwala szybko przeprowadzić analizę, które kategorie mają najwięcej i najmniej zliczeń.
  • Kolumna „Częstotliwość” podaje liczbę przypadków, w których zmienna day_of_booking przyjmuje wartość w kolumnie.
  • Kolumna „Procent” to procent całości.
  • Kolumny „Częstotliwość skumulowana” i „Procent” informują o wzroście liczby i procentu dla wartości day_of_booking.

Używasz tego typu wglądu, aby dowiedzieć się o dystrybucji kategorii w twoim zestawie danych.

Na przykład, w tych danych, 28 osób zarezerwowało loty w niedzielę.

Używanie opcji ORDER=FORMATTED.

Używając opcji ORDER=FORMATTED możesz kontrolować kolejność, w jakiej kategorie będą wyświetlane w tabeli.

Przed użyciem tej opcji musisz utworzyć format niestandardowy, aby określić kolejność, jaką chcesz uzyskać na wyjściu.

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

Tworzenie jednokierunkowej tabeli częstości z podsumowania.Jeśli dane są już podsumowane, możesz użyć instrukcji WEIGHT, aby wskazać zmienne, które reprezentują zliczanie.

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

Odczytanie podsumowanych danych w Proc Freq

Odczytanie podsumowanych danych w Proc Freq

WEIGHT COUNT mówi PROC FREQ, że dane dla zmiennej COUNT są zliczeniami. Nawet jeśli istnieją dwa rekordy dla CENTS, program jest w stanie połączyć WAGĘ w jedną kategorię CENTS (252 CENTS).

Testowanie dobroci dopasowania przy użyciu PROC FREQ w SAS

PROC FREQ w SAS może być również użyty do testowania dobroci dopasowania dla jednokierunkowej tabeli. Test dobroci dopasowania dla pojedynczej populacji jest testem używanym do określenia, czy rozkład obserwowanych częstości w danych z próby reprezentuje oczekiwaną liczbę wystąpień dla populacji.

Zakładając, że liczba obserwacji jest stała.

Testowane hipotezy są następujące:

  • H:0 Populacja podąża za hipotetycznym rozkładem.
  • H: a Populacja nie podąża za hipotetycznym rozkładem.

Test chi kwadrat jest jednym z testów dobroci dopasowania. Decyzja może być podjęta na podstawie wartości p związanej z tą statystyką.

Niska wartość p wskazuje, że dane nie podążają za hipotetycznym lub teoretycznym rozkładem.

Jeśli wartość p jest wystarczająco niska (zazwyczaj <0.05), odrzucamy hipotezę zerową.

Składnia testu dobroci dopasowania jest następująca:

PROC FREQ;
TABLES zmienna / CHISQ TESTP=(lista współczynników);

Przykład:

Linie lotnicze obsługiwały codzienne loty do kilku indyjskich miast. Jednym z problemów dla tej linii lotniczej są preferencje żywieniowe pasażerów. Kierownik operacji „Kapitan kucharz” uważa, że 35% pasażerów preferuje jedzenie wegetariańskie, 40% – wegańskie. 20% preferuje żywność niskokaloryczną, a 5% żywność dla diabetyków.

Próbka 500 pasażerów została losowo wybrana do analizy preferencji żywieniowych, a dane są pokazane poniżej.

Przeprowadzimy test CHI-SQURE, aby sprawdzić czy przekonanie Kapitana Kucharza jest prawdziwe przy alfa=0.05

Typ pożywienia Wegetariańskie Nie-wegetariańskie Niskokaloryczne NiskieKalorii Diabetyk
Liczba pasażerów 190 185 90 35

Rozwiązanie:

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
  • Dane są podsumowane jako przez WAGĘ Liczba_pasażerów.
  • Zestaw ORDER=DATA służy do uporządkowania danych tak jak w wejściowym zbiorze danych. Częstości są oparte na zmiennej Food_Type.
  • Konstrukcje /NOCUM CHISQ i TESTP= są używane do obliczania testu dobroci dopasowania.
  • Współczynniki testu są oparte na procentach potomstwa oczekiwanego z każdej z czterech kategorii.
  • Opcja NOCUM żąda tabeli bez kolumny kumulatywnej.

Uwaga: Musisz użyć opcji ORDER=DATA, aby upewnić się, że hipotetyczne współczynniki wymienione w instrukcji TESTP= są zgodne z kategoriami w danych wejściowych.

Wartość p dla testu chi kwadrat(p=7,4107) jest większa niż wartość krytyczna(a=0,05), dlatego wnioskujemy, że przekonanie kapitana Cooka na temat preferencji żywieniowych jest prawdziwe.

Test niezależności Chi-Square – analiza tabel dwukierunkowych przy użyciu PROC FREQ w SAS

Przy użyciu PROC FREQ w SAS możemy wykonać test niezależności Chi-Square, testujemy czy dwie lub więcej grup są statystycznie niezależne czy nie.

Zestawienie TABELI z dwiema lub więcej zmiennymi wymienionymi i oddzielonymi gwiazdką tworzy tabelę krzyżową dla dwóch zmiennych.

Tabela krzyżowa jest często nazywana tabelą kontyngencji.

Liczenie liczby wystąpień w próbie dla dwóch zmiennych grupujących tworzy tabelę krzyżową.

W poniższym przykładzie chcemy określić zależność między przestępczością a piciem alkoholu.

Zmienną niezależną jest KRYZYS, a zmienną zależną jest PIJĄCY.

Więc tabela krzyżowa będzie wyglądać następująco

TABLES CRIME*DRINKER

Hipotezy zerowa i alternatywna w tym przypadku to:

  • h_0 : Zmienne są niezależne, co oznacza, że nie ma związku między przestępczością a piciem alkoholu
  • h_a : Zmienne są zależne, co oznacza, że przestępczość jest zależna od picia alkoholu

PROC FREQ w SAS 5

PROC FREQ w 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 w SAS 7

PROC FREQ w SAS 8

Domyślnie, domyślnie w każdej komórce tabeli znajdują się cztery liczby: całkowita częstotliwość, całkowity procent, procent wierszy i procent kolumn, jak poniżej.

PROC FREQ w SAS 9

PROC FREQ w SAS 10

Ekspected określa, że wartości oczekiwane mają być uwzględnione w tabeli, a NOROW, NOCOL i NOPERCENT nakazują SAS wykluczyć te wartości z tabeli.

PROC FREQ w SAS 11

PROC FREQ w SAS 12

Zobacz statystyki z wyjścia. Wartość chi kwadrat wynosi 49,5660, a p<0,0001.

Więc odrzucamy hipotezę zerową, tzn. nie ma związku (niezależności) i stwierdzamy, że istnieją dowody na istnienie związku między stanem upicia a rodzajem popełnionego przestępstwa.

PROC FREQ w SAS 13

PROC FREQ w SAS 14

Większość wartości oczekiwanych jest zbliżona do wartości obserwowanych, natomiast w przypadku Oszustwa wartość obserwowana(63) różni się od oczekiwanej(109.14).

Informacja ta prowadzi do wniosku, że osoby zaangażowane w oszustwa rzadziej piją alkohol.

Obliczanie ryzyka względnego przy użyciu PROC FREQ w SAS

Tablice kontyngencji dwa na dwa są często wykorzystywane podczas badania miary ryzyka. W badaniach medycznych, tego typu tabele są konstruowane, gdy jedna zmienna reprezentuje obecność lub brak choroby, a druga wskazuje na jakiś czynnik ryzyka.

Miarą tego ryzyka w badaniu case-control jest współczynnik szans (OR).

W badaniu case-control badacz pobiera próbkę osób i szuka w czasie narażenia lub braku narażenia na chorobę.

W badaniu kohortowym osoby są wybierane ze względu na obecność lub brak ryzyka, a następnie obserwowane w czasie, aby sprawdzić, czy rozwinie się u nich choroba, miarą tego ryzyka jest ryzyko względne (RR).

Współczynnik ODDS to ile razy bardziej prawdopodobne jest znalezienie ekspozycji u osoby z chorobą w porównaniu do znalezienia ekspozycji u osoby bez choroby.

Ryzyko względne wskazuje, ile razy bardziej lub mniej prawdopodobne jest, że u osoby narażonej na ekspozycję rozwinie się dany skutek w porównaniu z osobą nie narażoną na ekspozycję.

W obu przypadkach, miara ryzyka (OR lub RR) równa 1 oznacza brak ryzyka.

Miara ryzyka różna od 1 oznacza ryzyko. Zakładając, że badany wynik jest niepożądany.

  • Miara ryzyka >1 oznacza zwiększone ryzyko wyniku.
  • Miara ryzyka <1 oznacza zmniejszone ryzyko wyniku.
  • Miara ryzyka = 1 oznacza brak ryzyka.

W PROC FREQ, opcją do obliczenia wartości OR lub RR jest RELRISK i pojawia się jako opcja w zestawieniu TABLES, jak pokazano tutaj:

TABLES CHOLESTROLDIET*OUTCOME / CHISQ RELRISK;

Przykład

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;

Badanie kontrolne dla ODS

Case Control Study for ODS ratio

Częstotliwość mówi nam, ilu badanych mamy w diecie o niskiej zawartości cholesterolu z wynikiem NO/YES Heart Disease.

Interpretując pierwszy wiersz, mamy 6 badanych z NISKIM cholesterolem nie ma choroby serca, podczas gdy 2 badanych z NISKIM cholesterolem ma CHOROBĘ SERCA.

Oczekiwana wskazuje wartość rzeczywistą do wartości obserwowanej.

Oprocentowanie jest ogólnym procentem, który wskazuje, że wśród wszystkich badanych 26,09% osób jest na diecie o NISKIM cholesterolu i nie ma choroby serca.

ROW Procent mówi nam, jaki procent badanych, którzy są na diecie o NISKIM cholesterolu, NIE ma choroby serca spośród 8 badanych, którzy są na diecie o NISKIM cholesterolu. i.e 75% ludzi, którzy są w diecie o NISKIM cholesterolu nie ma chorób serca.

COL Percent mówi nam, jaki procent badanych, którzy nie mają chorób serca jest w diecie o NISKIM cholesterolu. i.e 6 z 10, co stanowi 60%. natomiast 80% osób, które mają choroby serca jest na diecie o WYSOKIM cholesterolu.

Interpretacja testu CHI-SQUARE mówi nam o powiązaniu tych zmiennych pomiędzy tym, co było oczekiwane, a tym, co jest obserwowane.

Proc Freq SAS

Proc Freq SAS

Statystyka Chi-Square (4.9597) jest mniejsza niż wartość P (0,0259), co oznacza, że istnieje związek między tym, co było oczekiwane, a tym, co jest obserwowane.

Ostrzeżenie

Jednym z założeń testu CHI-SQUARE jest to, że obserwowana wartość w każdej komórce powinna być większa niż 5. W powyższym przykładzie mamy 4 i 2, które są mniejsze niż 5. W takich przypadkach bardziej odpowiednie jest zastosowanie testu dokładnego Fishera.

PROC FREQ w SAS 15

PROC FREQ w SAS 16

Test dokładny Fishera (0.0393), który jest statystycznie istotny przy 5% alfa. więc możemy powiedzieć, że istnieje związek i być może dieta wysokotłuszczowa jest związana z wysokim ryzykiem chorób serca.

DOKŁADNE stwierdzenie jest dla PICHI co oznacza P-value dla CHI-SQUARE wyprowadza poniższą tabelę.

PROC FREQ w SAS 17

PROC FREQ w SAS 18

PROC FREQ w SAS 19

PROC FREQ w SAS 19

PROC FREQ w SAS 20
  • text{Odds ratio} = frac {text{ods of exposure in a group}}{text{ods of exposure not in a group}}
  • LARGE frac {6/2} {4/11} = 8,25

Odds ratio – 8,25 z 95% granicą ufności, co oznacza, że szanse na wystąpienie choroby serca są 8 razy większe niż u osób, które nie mają choroby serca

Ryzyko względne 2,88 wskazuje, że choroba serca jest 2,88 razy większa w grupie HIGH FAT. (Zwiększone ryzyko).

Ryzyko względne 0,34 mówi nam, że istnieje zmniejszone ryzyko (0,34 razy mniejsze) niskiego poziomu cholesterolu i choroby serca.

Ponieważ określiliśmy EXACT on ODDs Ratio, otrzymamy ostatnią tabelę jak poniżej.

PROC FREQ w SAS 21

PROC FREQ w SAS 22

Współczynnik szans jest taki sam jak powyżej, czyli 8.25, ale podaje również dokładną granicę ufności.

Pobierz Proc-Freq, pliki ćwiczeń,…

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *