Skip to content

1.5.2 Obliczanie statystyk

zozlak edited this page Oct 25, 2016 · 10 revisions

Wyliczanie i umieszczanie w raporcie wartości statystyk obliczonych na podstawie pliku danych i/lub pliku definicji odbiorców możliwe jest dzięki tzw. wstawkom R. Jest to kod w języku R (w szczególności funkcje pakietu MLAK), którego wynik umieszczony zostanie w raporcie w miejscu, gdzie wstawka znajduje się w szablonie raportu.

Składnia wstawki to: `r kodR`, np.:

Średnia ocena studentów: `r E(OCENA)`

Pakiet MLAK udostępnia następujące funkcje do obliczania statystyk:

  • N(zmienna) – liczba obserwacji zmiennej niebędących brakami danych;
  • N(zmienna, wartość) – liczba obserwacji zmiennej posiadających określoną wartość
    • aby otrzymać liczbę braków danych, za wartość należy podstawić NA;
    • wartość może być również zbiorem, np. N(OCENA, c(2, 3, NA)) – zwróć liczbę obserwacji, dla których zmienna OCENA ma wartość 2, 3 lub jest brakiem danych.
  • E(zmienna), E(zmienna, dokl = n) – średnia wartość zmiennej;
    • domyślnie zaokrąglona do dwóch miejsc po przecinku, opcjonalnie można ustawić dowolną precyzję zaokrąglenia (argument dokl).
  • Me(zmienna), Me(zmienna, dokl = n) – mediana danej zmiennej,
    • domyślnie zaokrąglona do dwóch miejsc po przecinku, opcjonalnie można ustawić dowolną precyzję zaokrąglenia (argument dokl).
  • Q(zmienna, kwantyl, liczbaKwantyli),
    Q(zmienna, kwantyl, liczbaKwantyli, dokl = n) – dowolnie określony kwantyl danej zmiennej, np. Q(zmienna, 1, 4) – 1. kwartyl;
    • domyślnie zaokrąglony do dwóch miejsc po przecinku, opcjonalnie można ustawić dowolną precyzję zaokrąglenia (argument dokl).
  • P(zmienna),
    P(zmienna, wartość),
    P(zmienna, wartość, dokl = n),
    P(zmienna, znakProcent = FALSE),
    P(zmienna, wartość, znakProcent = FALSE),
    P(zmienna, wartość, dokl = n, znakProcent = FALSE) – wyrażony w procentach odsetek obserwacji o zadanej wartości zmiennej;
    • za podstawę procentowania przyjmowana jest liczba wszystkich obserwacji danej zmiennej (włączając braki danych);
    • wartość może być również zbiorem, np. P(OCENA, c(2, 3, NA)) – zwróć odsetek obserwacji, dla których zmienna OCENA ma wartość 2, 3 lub jest brakiem danych;
    • jeśli nie podano wartości, to zliczana jest liczba obserwacji, dla których prawdziwe jest wyrażenie przekazane jako zmienna, np. P(OCENA > 3) - zwróć odsetek obserwacji, dla których wartość zmiennej OCENA jest większa od 3;
    • domyślnie wynik zaokrąglany jest do jednego miejsca po przecinku, opcjonalnie można ustawić dowolnąprecyzję zaokrąglenia (argument dokl);
    • domyślnie do wyniku dołączany jest znak %, np. 43,1%; opcjonalnie można usunąć znak % ze zwracanej wartości (argument znakProcent = FALSE).
  • Pw(zmienna),
    Pw(zmienna, wartość),
    Pw(zmienna, wartość, dokl = n),
    Pw(zmienna, znakProcent = FALSE),
    Pw(zmienna, wartość, znakProcent = FALSE),
    Pw(zmienna, wartość, dokl = n, znakProcent = FALSE) – wyrażony w procentach odsetek obserwacji o zadanej wartości zmiennej;
    • za podstawę procentowania przyjmowana jest liczba obserwacji danej zmiennej, które nie są brakami danych;
    • wartość może być również zbiorem, np. Pw(OCENA, c(2, 3)) – zwróć odsetek obserwacji, dla których zmienna OCENA ma wartość 2 lub 3 (pomijając braki danych w podstawie procentowania);
    • jeśli nie podano wartości, to zliczana jest liczba obserwacji, dla których prawdziwe jest wyrażenie przekazane jako zmienna, np. Pw(OCENA > 3) - zwróć odsetek obserwacji, dla których wartość zmiennej OCENA jest większa od 3 (pomijając braki danych w podstawie procentowania);
    • domyślnie wynik zaokrąglany jest do jednego miejsca po przecinku, opcjonalnie można ustawić dowolnąprecyzję zaokrąglenia (argument dokl);
    • domyślnie do wyniku dołączany jest znak %, np. 43,1%; opcjonalnie można usunąć znak % ze zwracanej wartości (argument znakProcent = FALSE).
  • R(zmienna1, zmienna2),
    R(zmienna1, zmienna2, dokl = n) - współczynnik korelacji liniowej (Pearsona) pomiędzy zadanymi zmiennymi;
    • domyślnie zaokrąglona do dwóch miejsc po przecinku, opcjonalnie można ustawić dowolną precyzję zaokrąglenia (argument dokl).
  • R2(zmienna1, zmienna2),
    R2(zmienna1, zmienna2, dokl = n) - kwadrat współczynnika korelacji liniowej (Pearsona) pomiędzy zadanymi zmiennymi;
    • domyślnie zaokrąglona do dwóch miejsc po przecinku, opcjonalnie można ustawić dowolną precyzję zaokrąglenia (argument dokl).
  • Tau(zmienna1, zmienna2),
    Tau(zmienna1, zmienna2, dokl = n) - współczynnik korelacji rangowej Kendalla pomiędzy zadanymi zmiennymi;
    • domyślnie zaokrąglona do dwóch miejsc po przecinku, opcjonalnie można ustawić dowolną precyzję zaokrąglenia (argument dokl).

Uwaga! Funkcje pakietu MLAK, które obliczają statystyki automatycznie anonimizują wynik, jeśli liczba analizowanych obserwacji była zbyt mała, zamiast wyniku zwrócony zostanie znak -.

Przykład

Załóżmy, że dysponujemy prostym zbiorem danych postaci:

Przedmiot Ocena
     1 | 2
     1 | 3
     1 | 3
     1 | 2
     1 | 4
     2 | 3
     2 | 4
     2 | 5
     2 | 5
     2 | 3
     2 | Brak danych
     2 | Brak danych

zapisanym w pliku dane.csv oraz zbiorem odbiorców:

Odbiorca
X

zapisanym w pliku odbiorcy.csv.

Dla takich danych przygotować możemy szablon raportu ilustrujący wykorzystanie opisanych powyżej funkcji obliczających statystyki:

---
title: "Przykłady obliczania statystyk"
output: pdf_document
---
```{r, echo = FALSE, message = FALSE, warning = FALSE}
library(_MLAK_)
wczytajOdbiorce('odbiorcy.csv', 'dane.csv')
```

Liczba obserwacji: `r N(Przedmiot)`  
Liczba obserwacji dla przedmiotu 1: `r N(Przedmiot, 1)`  
Liczba obserwacji z oceną 2 lub brakiem danych: `r N(Przedmiot, c(2, NA))`

Procent obserwacji z oceną wyższą od 2: `r P(Ocena > 2)`  
Procent obserwacji z oceną 2 lub brakiem danych: `r P(Ocena, c(2, NA))`  
Procent obserwacji z oceną 5, procentowany względem obserwacji o znanej ocenie, zaokrąglony do pełnych procentów: `r Pw(Ocena, 5, dokl = 0)`
Procent obserwacji z oceną 2 lub brakiem danych, zaokrąglony do pełnych procentów, bez dołączonego znaku procenta: `r P(Ocena, c(2, NA), dokl = 0, znakProcent = FALSE)`

Średnia ocena: `r E(Ocena)`  
Średnia ocena zaokrąglona do liczby całkowitej: `r E(Ocena, dokl = 0)`  

Pierwszy kwartyl zmiennej Ocena: `r Q(Ocena, 1, 4)`  
Drugi kwartyl (mediana) zmiennej Ocena: `r Q(Ocena, 2, 4)`  
Trzeci kwartyl zmiennej Ocena: `r Q(Ocena, 3, 4)`  
Mediana zmiennej Ocena: `r Me(Ocena)`  
Piąty stanin zmiennej Ocena: `r Q(Ocena, 5, 9)`  

Korelacja rangowa pomiędzy przedmiotem a oceną: `r Tau(Przedmiot, Ocena)`