Jak obliczyć statystyki opisowe w r (z przykładem)
Statystyki opisowe to wartości opisujące zbiór danych.
Pomagają nam zrozumieć, gdzie znajduje się środek zbioru danych, a także rozkład wartości w zbiorze danych.
Istnieją dwie funkcje, których możemy użyć do obliczenia statystyk opisowych w R:
Metoda 1: Użyj funkcji podsumowania().
summary(my_data)
Funkcja podsumowanie() oblicza następujące wartości dla każdej zmiennej w ramce danych w R:
- Minimum
- 1. kwartyl
- Mediana
- Mieć na myśli
- Trzeci kwartyl
- Maksymalny
Metoda 2: użyj funkcji sapply().
sapply(my_data, sd, na. rm = TRUE )
Funkcji sapply() można używać do obliczania statystyk opisowych innych niż te obliczone za pomocą funkcji podsumowanie() dla każdej zmiennej w ramce danych.
Na przykład powyższa funkcja sapply() oblicza odchylenie standardowe każdej zmiennej w ramce danych.
Poniższy przykład pokazuje, jak używać tych dwóch funkcji do obliczania statystyk opisowych dla zmiennych w ramce danych w języku R.
Przykład: obliczanie statystyk opisowych w R
Załóżmy, że mamy następującą ramkę danych w R, która zawiera trzy zmienne:
#create data frame df <- data. frame (x=c(1, 4, 4, 5, 6, 7, 10, 12), y=c(2, 2, 3, 3, 4, 5, 11, 11), z=c(8, 9, 9, 9, 10, 13, 15, 17)) #view data frame df X Y Z 1 1 2 8 2 4 2 9 3 4 3 9 4 5 3 9 5 6 4 10 6 7 5 13 7 10 11 15 8 12 11 17
Możemy użyć funkcji podsumowania() do obliczenia różnych statystyk opisowych dla każdej zmiennej:
#calculate descriptive statistics for each variable
summary(df)
xyz Min. : 1,000 Min. : 2,000 Min. : 8.00
1st Qu.: 4,000 1st Qu.: 2,750 1st Qu.: 9.00
Median: 5,500 Median: 3,500 Median: 9.50
Mean: 6.125 Mean: 5.125 Mean: 11.25
3rd Qu.: 7,750 3rd Qu.: 6,500 3rd Qu.: 13.50
Max. :12,000 Max. :11,000 Max. :17.00
Nawiasów możemy także używać do obliczania wyłącznie statystyk opisowych dla konkretnych zmiennych w ramce danych:
#calculate descriptive statistics for 'x' and 'z' only summary(df[, c(' x ', ' z ')]) xz Min. : 1,000 Min. : 8.00 1st Qu.: 4.000 1st Qu.: 9.00 Median: 5.500 Median: 9.50 Mean: 6.125 Mean: 11.25 3rd Qu.: 7.750 3rd Qu.: 13.50 Max. :12,000 Max. :17.00
Możemy również użyć funkcji sapply() do obliczenia konkretnych statystyk opisowych dla każdej zmiennej.
Na przykład poniższy kod pokazuje, jak obliczyć odchylenie standardowe każdej zmiennej:
#calculate standard deviation for each variable sapply(df, sd, na. rm = TRUE ) X Y Z 3.522884 3.758324 3.327376
Możemy również użyć funkcji () w sapply() do obliczenia statystyk opisowych.
Na przykład poniższy kod pokazuje, jak obliczyć zakres dla każdej zmiennej:
#calculate range for each variable sapply(df, function(df) max(df, na. rm = TRUE )-min(df, na. rm = TRUE )) X Y Z 11 9 9
Na koniec możemy utworzyć złożoną funkcję, która oblicza statystyki opisowe, a następnie użyć tej funkcji z funkcją sapply() .
Na przykład poniższy kod pokazuje, jak obliczyć tryb każdej zmiennej w ramce danych:
#define function that calculates mode find_mode <- function (x) { u <- unique(x) tab <- tabulate(match(x, u)) u[tab == max(tab)] } #calculate mode for each variable sapply(df, find_mode) $x [1] 4 $y [1] 2 3 11 $z [1] 9
Z wyniku możemy zobaczyć:
- Tryb zmiennej x wynosi 4 .
- Tryb zmiennej y to 2 , 3 i 11 (ponieważ każda z tych wartości pojawia się najczęściej)
- Tryb zmiennej z wynosi 9 .
Używając funkcji podsumowanie() i sapply() możemy obliczyć dowolne statystyki opisowe dla każdej zmiennej w ramce danych.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w języku R:
Jak utworzyć tabele podsumowujące w R
Jak znaleźć rozstęp międzykwartylowy w R
Jak usunąć wartości odstające w R