Jak używać min() i max() w R

Photo of author

By maciekx

Wprowadzenie

W środowisku R, funkcje min() i max() stanowią podstawowe narzędzia do wyszukiwania, odpowiednio, najmniejszej i największej wartości w danym zestawie danych. Te wbudowane funkcje, dostępne w standardowym pakiecie R, są niezwykle proste w użyciu i mają fundamentalne znaczenie dla każdego, kto zajmuje się analizą danych czy badaniami naukowymi. W tym opracowaniu szczegółowo omówimy, jak efektywnie korzystać z min() i max() w R, zaczynając od składni, poprzez argumenty, aż po praktyczne przykłady zastosowań.

Składnia i parametry

Funkcja min()

min(x, na.rm = FALSE)
  • x: Reprezentuje wektor lub macierz zawierającą wartości liczbowe, spośród których poszukiwane jest minimum.
  • na.rm: Jest to parametr logiczny, który decyduje o tym, czy przed wyznaczeniem minimum należy usunąć wartości NA (brakujące). Jego domyślna wartość to FALSE, co oznacza, że wartości NA są uwzględniane w obliczeniach.

Funkcja max()

max(x, na.rm = FALSE)
  • x: To wektor lub macierz zawierająca liczby, w której poszukiwana jest wartość maksymalna.
  • na.rm: Parametr logiczny, wskazujący, czy usunąć wartości NA (brakujące) przed obliczeniem maksimum. Standardowo ustawiony na FALSE, co powoduje, że wartości NA są brane pod uwagę w obliczeniach.

Przykłady praktycznego zastosowania

Funkcje min() oraz max() znajdują szerokie zastosowanie w dziedzinie analizy danych. Poniżej przedstawiamy kilka przykładów:

Wyszukiwanie wartości skrajnych

  • min(x): Pozwala na identyfikację najmniejszej wartości w danym wektorze lub macierzy x.
  • max(x): Służy do wyznaczenia największej wartości w wektorze lub macierzy x.

Porównywanie zbiorów danych

  • min(x, y): Umożliwia wyznaczenie najmniejszej wartości spośród dwóch wektorów lub macierzy x i y.
  • max(x, y): Pozwala znaleźć największą wartość pomiędzy dwoma wektorami lub macierzami x i y.

Selekcja podzbiorów danych

  • x[x == min(x)]: Wybiera te elementy z wektora lub macierzy x, które odpowiadają najmniejszej wartości.
  • x[x == max(x)]: Wybiera wiersze lub kolumny z wektora lub macierzy x zawierające największą wartość.

Ilustracje praktyczne

Przykład 1: Określenie minimalnej wartości w wektorze


> x <- c(1, 3, 5, 2, 4)
> min(x)
[1] 1

Przykład 2: Określenie maksymalnej wartości w macierzy


> y <- matrix(c(1, 2, 3, 4, 5, 6), nrow = 2)
> max(y)
[1] 6

Przykład 3: Porównanie dwóch zestawów danych


> a <- c(1, 3, 5)
> b <- c(2, 4, 6)
> min(a, b)
[1] 1
> max(a, b)
[1] 6

Przykład 4: Selekcja wartości skrajnych


> df <- data.frame(wartosc = c(1, 3, 5, 2, 4))
> df[df$wartosc == min(df$wartosc), ]
  wartosc
1      1
> df[df$wartosc == max(df$wartosc), ]
  wartosc
3      5

Podsumowanie

Funkcje min() i max() w R to kluczowe narzędzia do identyfikacji najmniejszych i największych wartości w zbiorach danych. Ich prostota użycia i szerokie zastosowanie sprawiają, że są nieocenione w analizie danych. Zrozumienie ich składni i parametrów pozwala efektywnie wykorzystywać je w różnorodnych projektach badawczych.

Najczęściej zadawane pytania

Czy funkcje min() i max() operują na wartościach nieliczbowych?

Nie, funkcje min() i max() są przystosowane do pracy wyłącznie z danymi liczbowymi. Jeżeli w wektorze lub macierzy znajdą się wartości nieliczbowe, należy je przekształcić na format liczbowy przed zastosowaniem tych funkcji.

Jak reagują funkcje min() i max() na wartości NA?

Domyślnie, funkcje min() i max() uwzględniają wartości NA w obliczeniach. Aby wykluczyć wartości NA przed wyznaczeniem minimum lub maksimum, należy użyć parametru na.rm z wartością TRUE.

Czy funkcje min() i max() działają z obiektami innymi niż wektory i macierze?

Nie, funkcje min() i max() są przeznaczone do pracy z wektorami i macierzami. Jeżeli pracujemy z innymi obiektami, takimi jak listy lub ramki danych, musimy je przekształcić na wektory lub macierze przed zastosowaniem tych funkcji.

Jak znaleźć wiele wartości minimalnych lub maksymalnych w zestawie danych?

Można skorzystać z funkcji which.min() i which.max() w połączeniu z min() lub max(). Przykładowo:


> which.min(x)
[1] 1

Jak wyszukać minimum lub maksimum wiersza/kolumny w ramce danych?

Funkcja apply() umożliwia zastosowanie min() lub max() do każdego wiersza lub kolumny w ramce danych. Przykład:


> df <- data.frame(wartosc = c(1, 3, 5, 2, 4))
> apply(df, 2, min)
  wartosc
1      1
2      2
3      3
4      4
5      5
> apply(df, 2, max)
  wartosc
1      5
2      4
3      5
4      4
5      5

Czy istnieją inne metody wyszukiwania wartości ekstremalnych?

Tak, istnieją alternatywne funkcje, takie jak:

  • range(): Zwraca wektor zawierający minimum i maksimum zbioru danych.
  • order(): Umożliwia sortowanie indeksów od najmniejszej do największej wartości lub odwrotnie.
  • top_n(): Wyszukuje pierwsze n najmniejszych lub największych wartości w zbiorze danych.

Jakie są dobre praktyki podczas korzystania z min() i max()?

  • Zawsze należy upewnić się, czy dane zawierają wartości NA i zdecydować, czy mają być uwzględnione w obliczeniach.
  • Używaj funkcji apply() do wyszukiwania ekstremalnych wartości w wierszach lub kolumnach ramek danych.
  • Rozważ alternatywne funkcje, takie jak range() lub order(), w zależności od potrzeb.

newsblog.pl