Skorowidz Poleceń R
Zestawienie funkcji, pakietów i operacji dla studentów
- [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.
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.
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:100tworzy 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]
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.csvz 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 argumenciena.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życiusplit).
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 pakietutidyr. Ważna informacja. To polecenie działa i działać będzie, ale już jest zastępowane przez nowsze i bardziej intuicyjnepivot_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 grupowaniemgroup_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 dopisaniupaired = 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 parametrubinwidth).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)). Parametrdpi = 300gwarantuje 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 poleceniaread_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ściNAalbo ż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
Wiekto 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.
- Co oznacza: R “zawiesił się”, ponieważ nie dokończyłeś pisać polecenia. Najczęściej zapomniałeś zamknąć nawiasu