📈 R
Язык статистики: типы, векторы, data.frame, циклы, функции, пакеты.
Шпаргалки · Программирование · #r #statistics #data-science
IDE и запуск
RStudio (Posit), VS Code. Rscript file.R, консоль R. Пакеты: install.packages("dplyr"), library(dplyr).
Типы данных
n <- 1L; x <- 1.5; s <- "a"; b <- TRUE; z <- NULL; na <- NA
v <- c(1, 2, 3) # вектор (основа языка)
l <- list(a = 1, b = "x") # список
m <- matrix(1:6, nrow = 2) # матрица
f <- factor(c("a", "b", "a")) # категории
df <- data.frame(id = 1:3, name = c("a", "b", "c"))
Индексы начинаются с 1. Присваивание <-.
Операторы
+ - * / ^ %% %/%, == != < >, & | ! (по элементам), && || (скаляры), %in%, : (диапазон), %>% или |> (pipe).
Циклы
for (i in 1:3) print(i)
while (cond) { }
sapply(v, function(x) x * 2) # лучше циклов: векторизация
Функции
add <- function(a, b = 0) a + b
sq <- \(x) x * x
Встроенные
length, sum, mean, median, sd, max, seq, rep, paste, head, str, summary, is.na, apply, lapply, table, quantile.
Работа с данными
df[df$id > 1, ]; df$new <- df$id * 2
library(dplyr)
df %>% filter(id > 1) %>% mutate(x = id * 2) %>% group_by(name) %>% summarise(n = n())
Асинхронность
parallel::mclapply, future, furrr, promises (в Shiny).
Пакеты по задачам
| Задача | Пакет |
|---|---|
| Преобразование данных | dplyr, tidyr, data.table |
| Графики | ggplot2 |
| Импорт | readr, readxl |
| Модели | caret, tidymodels |
| Отчёты | rmarkdown, Quarto |
| Веб-приложения | Shiny |