Menu
Coddy logo textTech

R Cheat Sheet: ściąga z języka R

Ostatnia aktualizacja

Hello World i przypisanie

Idiomatycznym operatorem przypisania w R jest <- (operator = też działa).

OperacjaSkładnia
Wypisanie wartościprint("Hello, World!")
Automatyczne wypisanie (konsola)"Hello, World!"
Połączenie i wypisaniecat("Hi", name, "\n")
Przypisanie (idiomatyczne)x <- 5
Przypisanie (też poprawne)x = 5
Przypisanie w prawo5 -> x
Komentarz# this is a comment
Uruchomienie skryptuRscript app.R

Typy danych i wektory

Wektor to podstawowa struktura danych w R; nawet pojedyncza wartość jest wektorem o długości 1.

OperacjaSkładnia
Wektor liczbowyv <- c(1, 2, 3)
Wektor znakowys <- c("a", "b")
Wektor logicznyb <- c(TRUE, FALSE)
Ciąg liczb całkowitych1:10
Ciąg z krokiemseq(0, 1, by = 0.1)
Powtarzanie wartościrep(0, times = 5)
Typy podstawowenumeric, character, logical, integer, complex
Sprawdzenie / wymuszenie typuclass(x), as.numeric("42")

Operacje na wektorach

Operacje są zwektoryzowane i działają element po elemencie; indeksowanie zaczyna się od 1.

OperacjaSkładnia
Dostęp do elementu (od 1)v[1]
Wycinek zakresuv[2:4]
Filtrowanie logicznev[v > 2]
Pominięcie elementuv[-1]
Działania element po elemenciev * 2, v1 + v2
Długośćlength(v)
Popularne funkcje agregującesum(v), mean(v), max(v)
Sortowanie / odwróceniesort(v), rev(v)
Wektor nazwanyc(a = 1, b = 2)

Ramki danych (data frames)

Ramka danych to tabela kolumn, z których każda jest wektorem tej samej długości.

OperacjaSkładnia
Utworzenie ramki danychdf <- data.frame(name = c("Ada"), age = c(30))
Pierwsze / ostatnie wierszehead(df), tail(df)
Wymiarynrow(df), ncol(df), dim(df)
Nazwy kolumnnames(df), colnames(df)
Wybór kolumnydf$age lub df[["age"]]
Wybór wierszy / kolumndf[1, ], df[, "age"]
Filtrowanie wierszydf[df$age > 18, ]
Dodanie kolumnydf$adult <- df$age >= 18
Statystyki podsumowującesummary(df)
Przegląd strukturystr(df)

Czynniki i listy

Czynniki przechowują dane kategoryczne; listy zawierają elementy różnych typów.

OperacjaSkładnia
Utworzenie czynnikaf <- factor(c("low", "high"))
Poziomy czynnikalevels(f)
Czynnik uporządkowanyfactor(x, ordered = TRUE)
Liczność według poziomutable(f)
Utworzenie listyl <- list(name = "Ada", scores = c(1, 2))
Dostęp po nazwiel$name lub l[["name"]]
Dostęp po pozycjil[[1]]
Podlista (zachowuje listę)l[1]
Długość / nazwylength(l), names(l)

Instrukcje sterujące

Warunki zapisuje się w nawiasach okrągłych, a bloki w klamrowych.

OperacjaSkładnia
If / else if / elseif (x > 0) { ... } else if (x < 0) { ... } else { ... }
Zwektoryzowane if-elseifelse(v > 0, "pos", "neg")
Pętla forfor (i in 1:10) { ... }
Pętla for po wektorzefor (x in v) { ... }
Pętla whilewhile (x < 100) { ... }
Repeat z breakrepeat { if (done) break }
Switchswitch(key, a = 1, b = 2)
Operatory logiczne&&, ||, ! (skalarne); &, | (wektorowe)

Funkcje

Funkcje są obiektami pierwszej klasy; zwracana jest ostatnia obliczona wartość.

OperacjaSkładnia
Definicja funkcjiadd <- function(a, b) { a + b }
Jawne zwrócenie wartościreturn(a + b)
Argument domyślnygreet <- function(name = "World") { ... }
Zmienna liczba argumentówf <- function(...) { sum(...) }
Wywołanie z nazwanymi argumentamibox(w = 2, h = 3)
Funkcja anonimowafunction(x) x * 2
Funkcja anonimowa (skrót)\(x) x * 2
Przekazanie do funkcji wyższego rzędusapply(1:3, function(x) x^2)

Rodzina apply

Stosowanie funkcji do danych bez pisania jawnych pętli.

FunkcjaCo robi
apply(m, 1, sum)Stosuje funkcję do wierszy (1) lub kolumn (2) macierzy
sapply(v, f)Stosuje funkcję do wektora, upraszcza wynik do wektora/macierzy
lapply(v, f)Stosuje funkcję do wektora, zawsze zwraca listę
vapply(v, f, numeric(1))Jak sapply, ale ze sprawdzanym typem wyniku
mapply(f, a, b)Stosuje funkcję równolegle do kilku wektorów
tapply(x, group, mean)Stosuje funkcję w każdej grupie
Map(f, a, b)Apply po wielu argumentach, zwraca listę
Reduce(+, v)Redukuje wektor funkcją dwuargumentową

Popularne funkcje do obróbki danych i statystyki

Często używane funkcje bazowe do podsumowywania i przekształcania danych.

FunkcjaCo robi
mean(v) / median(v)Średnia / mediana
sd(v) / var(v)Odchylenie standardowe / wariancja
min(v) / max(v) / range(v)Najmniejsza / największa / obie
quantile(v)Kwantyle (np. kwartyle)
table(x)Liczebność wartości
unique(v) / duplicated(v)Unikalne wartości / flagi duplikatów
is.na(v) / na.omit(df)Wyszukanie / usunięcie braków danych
aggregate(y ~ g, df, mean)Podsumowanie y według grupy g
order(v)Kolejność indeksów do sortowania
cor(x, y)Korelacja dwóch wektorów

Najczęściej używana składnia języka R na jednej stronie. Ten R cheat sheet to szybka ściąga z rdzenia języka: przypisanie i typy danych, wektory i operacje na nich, ramki danych, czynniki i listy, instrukcje sterujące, funkcje oraz rodzina apply używana w analizie danych rstats.

Wszystko tutaj to bazowy R, który działa na standardowej instalacji, bez dodatkowych pakietów. Skopiuj to, czego potrzebujesz, albo uruchom każdy fragment w edytorze online R, bez żadnej konfiguracji.

R cheat sheet: FAQ

Czy ten R cheat sheet jest darmowy?
Tak. Ten R cheat sheet jest całkowicie darmowy i nie wymaga rejestracji. Dodaj go do zakładek i wracaj, gdy potrzebujesz sprawdzić operację na wektorze, metodę ramki danych albo funkcję statystyczną.
Czy wektory w R naprawdę są indeksowane od 1?
Tak. W przeciwieństwie do większości języków programowania indeksowanie w R zaczyna się od 1, więc v[1] zwraca pierwszy element, a v[length(v)] ostatni. Ujemne indeksy mają specjalne znaczenie: v[-1] usuwa pierwszy element, zamiast liczyć od końca. Ta konwencja obowiązuje tak samo w wektorach, listach i ramkach danych.
Czym jest ramka danych w R?
Ramka danych (data frame) to tabelaryczny typ w R: zbiór kolumn, w którym każda kolumna jest wektorem tej samej długości, a różne kolumny mogą mieć różne typy (liczby, tekst, czynniki). To standardowa struktura dla zbiorów danych: wiersze to obserwacje, a kolumny to zmienne. Indeksujesz ją przez df[rows, columns], kolumnę wybierasz przez df$name, a strukturę sprawdzasz przez str(df) lub summary(df).
Czy mogę ćwiczyć R online?
Tak. Otwórz edytor online R, aby uruchomić dowolny fragment z tej ściągi w przeglądarce, bez instalowania R czy RStudio. Gdy chcesz nauki krok po kroku, darmowy interaktywny kurs R w Coddy przeprowadzi cię od wektorów i ramek danych do rodziny apply i statystyki.
Czy ta ściąga nadaje się dla początkujących?
Tak. Jest uporządkowana od najczęstszych tematów (przypisanie, wektory, ramki danych) do bardziej zaawansowanych (rodzina apply i funkcje statystyczne), więc górne sekcje przydadzą się od pierwszego dnia, a resztę opanujesz z czasem.
Ilustracja języków programowania w Coddy

Naucz się języka R z Coddy

ZACZNIJ