Skorowidz Poleceń R

Zestawienie funkcji, pakietów i operacji dla studentów

Author

dr Maciej Brosz

Published

May 25, 2026

NoteJak korzystać z tego zestawienia?
  • [WBUDOWANE] – Funkcje, które działają od razu po uruchomieniu R. Nie wymagają wpisywania library().
  • [WYMAGA ZAŁADOWANIA] – Funkcje, które wymagają wcześniejszego załadowania pakietu komendą library(nazwa_pakietu). Jeśli o tym zapomnisz, R wyświetli błąd could not find function.
ImportantLogika pracy z pakietami: Smartfon vs R

Praca z pakietami przypomina korzystanie ze smartfona: polecenie install.packages() to jednorazowe pobranie nowej aplikacji ze sklepu na dysk komputera. Z kolei library() to kliknięcie w ikonkę i uruchomienie tej pobranej aplikacji za każdym razem, gdy otwierasz program na nowo. Dla Was oznacza to prostą zasadę: instalację wykonujecie tylko raz na danym komputerze, ale funkcję library() musicie wpisać i uruchomić na początku każdych zajęć, przy każdym uruchomieniu RStudio.

TipNajwiększa supermoc w RStudio: Klawisz TAB

Nie uczcie się nazw na pamięć i nie wpisujcie wszystkiego ręcznie – to najprostsza droga do literówek i czerwonych komunikatów o błędach. Zamiast tego wyróbcie w sobie odruch ciągłego używania Tabulatora!

Wpiszcie pierwsze 2-3 litery i wciśnijcie klawisz Tab. RStudio samo wyświetli podpowiedzi i dokończy za Was słowo (tzw. autouzupełnianie).

Gdzie TAB ratuje życie? * Przy komendach: Wpisujesz shap + Tab \(\rightarrow\) z listy wybierasz shapiro.test(). * Przy zmiennych: Wpisujesz nazwę bazy i symbol dolara (np. dane$) + Tab \(\rightarrow\) R rozwija menu ze wszystkimi zmiennymi (kolumnami) w Twojej bazie. Wystarczy wybrać odpowiednią strzałkami i wcisnąć Enter. * Przy plikach: Wpisujesz cudzysłów wewnątrz polecenia ładującego (np. readRDS("")) i będąc w środku cudzysłowu wciskasz Tab \(\rightarrow\) R pokazuje Ci całą zawartość Twojego katalogu roboczego, pozwalając “wyklikać” odpowiedni plik z bazą.

1. Fundamenty środowiska i operacje bazowe

Matematyka, logika i przypisania [WBUDOWANE]

  • <- : Operator przypisania; zapisuje dane lub wyniki obliczeń do nazwanego obiektu (pudełka) w pamięci. Skrót klawiaturowy: Alt + -.
  • %>% : Przekazuje wynik operacji do kolejnej funkcji. Skrót klawiaturowy: Ctrl + Shift + M.
  • c() : Funkcja łącząca pojedyncze elementy w jeden wektor (kolumnę danych).
  • : : Generuje sekwencję liczb krok po kroku (np. 1:100 tworzy liczby od 1 do 100).
  • ? : Wywołuje oficjalne okno pomocy i dokumentację dla konkretnego polecenia (np. ?t.test).
  • ?? : Przeszukuje dokumentację wszystkich zainstalowanych pakietów (nawet tych niezaładowanych) pod kątem wpisanego słowa kluczowego (np. ??anova). Używamy tego, gdy wiemy, co chcemy zrobić, ale nie pamiętamy dokładnej nazwy polecenia.

Generatory i losowość [WBUDOWANE]

  • set.seed() : Ustawia stałe “ziarno” generatora liczb losowych, co gwarantuje, że przy każdym uruchomieniu skryptu wylosują się dokładnie te same wyniki (podstawa replikowalności badań).
  • sample() : Losuje określoną liczbę elementów z podanego zbioru z powtórzeniami lub bez.
  • runif() : Generuje losowe liczby z rozkładu jednostajnego (gdzie każda wartość w przedziale ma taką samą szansę na wylosowanie).

Zarządzanie plikami i formatami [WBUDOWANE]

TipPo co ten cudzysłów, np. w read.csv("dane.csv")?

R to domator – domyślnie szuka wszystkiego w swojej własnej pamięci operacyjnej. Jeśli wpiszesz słowo bez cudzysłowu, R uzna, że to nazwa jakiejś zmiennej lub funkcji, którą już wcześniej stworzyłeś.

Kiedy zamykasz tekst w cudzysłów "", dajesz programowi jasny sygnał: “Hej, wyjdź na zewnątrz! To nie jest obiekt w pamięci, tylko fizyczny plik leżący na moim twardym dysku. Idź i mi go przynieś”. Cudzysłów to po prostu drogowskaz kierujący R do świata poza RStudio.

  • getwd() : Sprawdza ścieżkę do katalogu, w którym aktualnie operuje R.
  • setwd() : Ustawia nowy katalog roboczy dla sesji.
  • save() / load() : Zapisuje lub wczytuje cały stan wybranych obiektów do/z tradycyjnego formatu .RData.
  • saveRDS() / readRDS() : Zapisuje lub wczytuje pojedynczy, wyizolowany obiekt w nowoczesnym, zoptymalizowanym formacie .rds.
  • read.csv2() / write.csv2() : Służy do importu i eksportu danych do formatu .csv z zachowaniem polskiego standardu (średnik jako separator kolumn, przecinek jako separator dziesiętny).
  • install.packages() : Pobiera i instaluje pakiety rozszerzające możliwości R z globalnego repozytorium CRAN.
  • library() : Aktywuje i ładuje zainstalowany pakiet do bieżącej sesji roboczej.

2. Eksploracja i podstawowe przetwarzanie danych

Struktura i statystyka opisowa [WBUDOWANE]

  • data.frame() : Konstruuje dwuwymiarową tabelę danych (ramkę danych) z pojedynczych kolumn (wektorów).
  • names() : Pokazuje nazwy wszystkich kolumn występujących w wybranej bazie danych.
  • summary() : Szybki przegląd podstawowych miar pozycyjnych (min, max, kwartyle, średnia, mediana) dla zmiennych w zbiorze.
  • mean() : Wylicza średnią arytmetyczną (pamiętaj o argumencie na.rm = TRUE, jeśli masz braki danych).
  • quantile() : Oblicza wskazane kwantyle, pozwalając na precyzyjne odcinanie skrajnych odsetków obserwacji (np. górne 10% dochodów).
  • is.na() : Identyfikuje obecność systemowych braków danych (NA) w komórkach tabeli.
  • table() : Buduje klasyczne tabele częstości lub tabele krzyżowe (kontyngencji) na surowych zmiennych.
  • as.factor() : Konwertuje zmienną tekstową lub numeryczną na czynnik (factor), nadając jej charakter cechy jakościowej/kategorycznej.
  • subset() : Filtruje bazę, wyciągając tylko te wiersze i kolumny, które spełniają zdefiniowane kryteria logiczne.
  • split() : Dzieli ramkę danych na listę mniejszych tabel na podstawie wybranej zmiennej grupującej.
  • lapply() : Automatycznie aplikuje wybraną funkcję lub test do każdego elementu listy (np. do każdej podgrupy po użyciu split).

Transformacja z użyciem Tidyverse [WYMAGA ZAŁADOWANIA]

  • dplyr::group_by() : Deklaruje strukturę grupującą; kolejne operacje będą wykonywane wewnątrz wydzielonych podgrup.
  • dplyr::mutate() : Służy do modyfikowania istniejących kolumn lub tworzenia zupełnie nowych zmiennych w bazie.
  • rstatix::gather() : Przekształca strukturę bazy danych z formatu szerokiego (Wide) do formatu długiego (Long), scalając wybrane kolumny w pary klucz-wartość. Uwaga, to polecenie tak naprawdę należy do pakietu tidyr. Ważna informacja. To polecenie działa i działać będzie, ale już jest zastępowane przez nowsze i bardziej intuicyjne pivot_longer - warto je poznać.

3. Standardy Pracy Socjologicznej (Pakiety sj*)

Zestaw narzędzi stworzony specjalnie do obsługi badań kwestionariuszowych i danych społecznych.

Pakiet sjmisc [WYMAGA ZAŁADOWANIA]

  • frq() : Generuje profesjonalne tabele częstości z uwzględnieniem procentów ważnych (bez braków danych) i skumulowanych.
  • rec() : Służy do wszechstronnego rekodowania wartości (np. tworzenia przedziałów, odwracania skali Likerta).
  • descr() : Zwraca zaawansowane statystyki opisowe, zawierające m.in. skośność czy błędy standardowe.
  • dicho() : Służy do szybkiej dychotomizacji zmiennej (podziału na 2 grupy), najczęściej względem wartości mediany.

Pakiet sjlabelled [WYMAGA ZAŁADOWANIA]

  • set_label() : Przypisuje do zmiennej długą, opisową etykietę (np. treść pytania z kwestionariusza).
  • set_labels() : Przypisuje czytelne podpisy do kodów numerycznych zmiennej (np. 1 = "Kobieta", 2 = "Mężczyzna").

Pakiet sjPlot [WYMAGA ZAŁADOWANIA]

  • plot_frq() : Tworzy natychmiastowy, automatycznie podpisany wykres słupkowy dla wybranej zmiennej.
  • sjt.xtab() : Renderuje estetyczną tabelę krzyżową w formacie HTML wraz z automatycznym obliczeniem testu \(\chi^2\) i współczynnika Cramer’s V.

4. Wnioskowanie Statystyczne (Testy i Założenia)

Diagnostyka rozkładów

  • shapiro.test() [WBUDOWANE] : Klasyczny test Shapiro-Wilka weryfikujący normalność rozkładu (dla małych prób).
  • rstatix::shapiro_test() [WYMAGA ZAŁADOWANIA] : Nowoczesna wersja testu normalności współpracująca z potokami i grupowaniem group_by().
  • qqnorm() / qqline() [WBUDOWANE] : Generują wykres kwantyl-kwantyl wraz z linią odniesienia do wizualnej oceny normalności.

Porównywanie grup i badanie związków

  • chisq.test() [WBUDOWANE] : Test niezależności \(\chi^2\) sprawdzający związek między dwoma zmiennymi nominalnymi.
  • t.test() [WBUDOWANE] : Uniwersalny test t-Studenta (obsługuje jedną próbę, dwie grupy niezależne oraz pary powiązane po dopisaniu paired = TRUE).
  • wilcox.test() [WBUDOWANE] : Nieparametryczny odpowiednik testu t-Studenta (test Wilcoxona dla par powiązanych lub test U Manna-Whitneya dla grup niezależnych).
  • kruskal.test() [WBUDOWANE] : Nieparametryczna alternatywa dla ANOVA; porównuje rangi w więcej niż dwóch grupach niezależnych.
  • aov() [WBUDOWANE] : Dopasowuje model klasycznej analizy wariancji (ANOVA) dla wielu grup niezależnych.
  • TukeyHSD() [WBUDOWANE] : Test post-hoc Tukeya określający, między którymi dokładnie grupami w modelu ANOVA występują istotne różnice.
  • mcnemar.test() [WBUDOWANE] : Test McNemara badający zmiany proporcji cech dychotomicznych w próbach zależnych (przed vs po).
  • friedman.test() [WBUDOWANE] : Nieparametryczny test Friedmana dla analizy wielu prób zależnych.

Zaawansowane pakiety statystyczne [WYMAGA ZAŁADOWANIA]

  • rstatix::dunn_test() : Test post-hoc Dunna używany po istotnym teście Kruskala-Wallisa (zawiera korektę wielokrotnych porównań, np. metodą Holma).
  • rstatix::pairwise_wilcox_test() : Wykonuje porównania parami za pomocą testu Wilcoxona dla wielu prób zależnych.
  • rstatix::friedman_test() : Wygodna wersja testu Friedmana, zwracająca uporządkowaną i czytelną tabelę wynikową.
  • rstatix::cochran_qtest() : Test Q Cochrana służący do badania zmian zmiennej dychotomicznej w trzech lub więcej punktach czasowych (próby zależne).
  • rstatix::anova_test() : Nowoczesna ANOVA dla pomiarów powtarzanych; automatycznie weryfikuje kluczowe założenie o sferyczności (test Mauchly’ego) i nakłada konieczne poprawki.

5. Analiza Regresji Liniowej

Budowa modelu i interpretacja [WBUDOWANE]

  • lm() : Główna funkcja służąca do budowania modeli liniowych (zarówno regresji prostej, jak i wielorakiej; zapis struktury: zmienna_zalezna ~ zmienna_niezalezna). Powtórzmy, żeby to się nie myliło… czyli po ludzku: zmienna_wyjasniana ~ zmienna_wyjasniajaca_1 + zmienna_wyjasniajaca_2.
  • summary(model) : Wyświetla pełne podsumowanie modelu regresji: współczynniki \(B\), błędy standardowe, testy istotności \(t\), poziomy istotności \(p\) oraz współczynnik determinacji \(R^2\).

Diagnostyka graficzna założeń modelu [WBUDOWANE]

Po przekazaniu obiektu modelu regresji do standardowej funkcji graficznej, R generuje specjalistyczne wykresy diagnostyczne: * plot(model, 1) : Wykres wartości resztowych względem dopasowanych (służy do weryfikacji założenia o liniowości związku oraz stałości wariancji reszt – homoskedastyczności). * plot(model, 2) : Wykres Q-Q dla standaryzowanych reszt (służy do weryfikacji założenia o normalności rozkładu składnika losowego). * plot(model, 3) : Wykres typu Scale-Location (pomaga precyzyjnie ocenić homoskedastyczność – jednorodność wariancji reszt). * plot(model, 4) : Odległość Cooka (służy do wykrywania obserwacji wpływowych, które nadmiernie zniekształcają linię regresji). * plot(model, 5) : Wykres reszt względem dźwigni (pozwala zidentyfikować wartości odstające i określić ich realny wpływ na stabilność modelu).


6. Zaawansowana Wizualizacja Graficzna

Pakiet ggplot2 [WYMAGA ZAŁADOWANIA]

  • ggplot() : Inicjuje strukturę wykresu i wskazuje bazową ramkę danych.
  • aes() : Funkcja mapująca; wiąże kolumny z bazy danych z fizycznymi elementami wykresu (osie X/Y, kolory, kształty).
  • geom_histogram() : Nanosi warstwę histogramu (wymaga zdefiniowania parametru binwidth).
  • geom_density() : Generuje wygładzoną krzywą gęstości rozkładu.
  • geom_bar() : Rysuje klasyczny wykres słupkowy.
  • geom_boxplot() : Tworzy wykres pudełkowy (pokazuje medianę, rozstęp ćwiartkowy oraz obserwacje odstające).
  • facet_wrap() : Dzieli wykres na siatkę niezależnych paneli w oparciu o wybraną zmienną kategoryczną.
  • labs() : Pozwala na zarządzanie tytułami, podtytułami oraz opisami osi wykresu.
  • theme_minimal() / theme_light() : Zmienia kompletny schemat wizualny wykresu na czysty i nowoczesny.
  • guides() : Służy do szczegółowej kontroli nad elementami legendy (np. guides(fill = "none") ukrywa legendę).
  • scale_x_discrete() : Pozwala na modyfikację parametrów osi dyskretnej (np. kontrolowanie odstępów i podpisów).
  • scale_fill_brewer() : Służy do automatycznego nakładania profesjonalnych, gotowych palet kolorystycznych ColorBrewer na elementy wykresu.
  • ggsave() : Zapisuje ostatnio wygenerowany wykres bezpośrednio do pliku na dysku (np. ggsave("moj_wykres.png", width = 8, height = 6, dpi = 300)). Parametr dpi = 300 gwarantuje idealną, profesjonalną jakość obrazu wymaganą w pracach licencjackich.

Pakiet ggalluvial [WYMAGA ZAŁADOWANIA]

  • geom_alluvium() : Rysuje pasma przepływów (tzw. strumienie) pokazujące dynamiczne przemieszczanie się jednostek (np. przepływy wyborców lub zmiany decyzji w kolejnych etapach badań fokusowych).
  • geom_stratum() : Rysuje pionowe bloki (warstwy) reprezentujące kategorie w poszczególnych punktach pomiaru czasowego.

7. Eksport i Import zewnętrzny

Pakiet haven [WYMAGA ZAŁADOWANIA]

  • Działa w tle i pozwala środowisku R na bezproblemowe wczytywanie baz danych zapisanych w natywnych formatach komercyjnych pakietów statystycznych, takich jak SPSS (.sav). Użyj polecenia read_sav(), jest to główna funkcja pakietu, służąca do wczytywania baz danych z programu SPSS (.sav). Wpisujemy np. dane <- read_sav(“ankieta.sav”).

Pakiet openxlsx [WYMAGA ZAŁADOWANIA]

  • write.xlsx() : Zapisuje ramkę danych bezpośrednio do pliku formatu Microsoft Excel (.xlsx).

8. Koło Ratunkowe: Słowniczek Paniki i Komunikatów

Czerwony tekst w konsoli R na początku zawsze wywołuje u studentów stres, ale w zdecydowanej większości przypadków nie oznacza awarii systemu. Nauczmy się odróżniać błędy od zwykłych komunikatów.

Ostrzeżenia (Warnings) vs Błędy (Errors)

  • Warning message... (Ostrzeżenie): R wykonał Twoje polecenie i poprawnie policzył wynik, ale po drodze zauważył coś specyficznego i lojalnie Cię o tym informuje (np. że w danych pominął brakujące wartości NA albo że dana funkcja w nowej wersji pakietu zmieni nazwę). Jeśli pod ostrzeżeniem widzisz tabelę lub wynik testu – wszystko jest w porządku, Twój kod działa!
  • Error in... (Błąd): R całkowicie skapitulował i nie wykonał operacji. Masz poważny błąd w składni, literówkę lub brakuje Ci pakietu. Wynik nie został wygenerowany.

Najczęstsze komunikaty o błędach – jak z nich wyjść?

  • could not find function "..."
    • Co oznacza: R nie wie, co to za komenda.
    • Rozwiązanie: W 99% przypadków zapomniałeś wpisać library(nazwa_pakietu) na początku swoich zajęć. Wpisz ją i uruchom kod ponownie.
  • object "..." not found
    • Co oznacza: R nie widzi zmiennej lub bazy danych o takiej nazwie.
    • Rozwiązanie: Sprawdź dokładnie pod kątem literówek. Pamiętaj, że R jest wrażliwy na wielkość liter (zmienna Wiek to dla niego coś zupełnie innego niż wiek). Upewnij się też, że uruchomiłeś wcześniejszą linijkę kodu, która tę zmienną fizycznie tworzyła.
  • Znak + w konsoli zamiast standardowego znaku zachęty >
    • Co oznacza: R “zawiesił się”, ponieważ nie dokończyłeś pisać polecenia. Najczęściej zapomniałeś zamknąć nawiasu ) lub cudzysłowu ".
    • Rozwiązanie: Kliknij bezpośrednio w okno konsoli i wciśnij klawisz Esc. To zresetuje linię komend z powrotem do znaku >, pozwalając Ci poprawić i uruchomić skrypt od nowa.