📈 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