R
</syntaxhighlight>
Приклад:
Pipe operator дає можливість передавати результат одного кроку в наступний.
print(result)
print(groups)
Через CRAN встановлюють пакети:
names <- c(" Alice ", " Bob ")
clean_names <- str_trim(names)
print(clean_names)
- написання R-коду;
- запуску команд;
- перегляду таблиць;
- побудови графіків;
- роботи з packages;
- створення R Markdown;
- debugging;
- роботи з Git;
- створення Shiny-застосунків;
- підготовки аналітичних звітів. readr застосовується для для швидкого читання текстових таблиць. Практична роль: dplyr виступає як одним із головних інструментів R для очищення, групування й трансформації табличних даних.
users <- data.frame( name = c("Alice", "Bob", "Carol"), age = c(25, 30, 28), active = c(TRUE, FALSE, TRUE) ) print(users)
</syntaxhighlight>
ggplot2 — один із найвідоміших пакетів R для візуалізації даних. * розгортання колонок;
- збирання колонок;
- робота з missing values;
- nesting;
- unnesting;
- перетворення wide ↔ long. Приклад:
library(dplyr) Однак у R часто використовують vectorization або функції на кшталт `lapply`, `sapply`, `purrr::map`. lubridate — пакет для роботи з датами й часом.== Tidyverse ==
tidyr — пакет для приведення даних до tidy format. Приклад: Приклад:
Matrix
RStudio — популярне інтегроване середовище розробки для R. Функції в R створюються через `function`.
<syntaxhighlight lang="markdown">
Лінійна регресія:
* статистичного аналізу;
* exploratory data analysis;
* очищення даних;
* трансформації таблиць;
* візуалізації;
* регресійного аналізу;
* часових рядів;
* біостатистики;
* соціологічних досліджень;
* фінансового аналізу;
* машинного навчання;
* інтерактивних dashboard;
* аналітичних звітів;
* наукових публікацій;
* reproducible research.<div style="background:#ecfdf5; border-left:6px solid #10b981; padding:12px; margin:12px 0;">
<div style="background:#ecfdf5; border-left:6px solid #10b981; padding:12px; margin:12px 0;">
<div style="background:#fff7ed; border-left:6px solid #fb923c; padding:12px; margin:12px 0;">
* складних об’єктів;
* результатів моделей;
* nested data;
* API-відповідей;
* параметрів;
* збереження кількох результатів разом.</div>
'''Практична роль:''' у R критично відрізняти одну умову для програми від векторної умови для багатьох значень.
}
Умови
dplyr — пакет для трансформації таблиць. Регресія застосовується для для:
y = "Miles per gallon"
Увага: factors можуть бути дуже корисними в статистиці, але неправильне перетворення character ↔ factor здатна створювати помилки в аналізі. Порада: у production або командних проєктах критично фіксувати версії пакетів, щоб аналіз залишався відтворюваним.== Типи даних ==
- classification;
- regression;
- clustering;
- feature engineering;
- cross-validation;
- hyperparameter tuning;
- model evaluation;
- explainability. так само можна використовувати `=`, але в R-культурі для присвоєння часто застосовують `<-`.
</div>
</div>
'''Практична роль:''' R має сильну екосистему для часових рядів, прогнозування й економетричного аналізу. List часто застосовується для для:
title = "Залежність витрати пального від ваги",
for (i in 1:5) {
</div>
Приклад:
ages <- c(15, 20, 30)
groups <- ifelse(ages >= 18, "adult", "minor")
<div style="background:#eef2ff; border-left:6px solid #4f46e5; padding:12px; margin:12px 0;">
library(dplyr)
Приклад:
* звітів;
* наукових документів;
* презентацій;
* навчальних матеріалів;
* автоматичних dashboard;
* reproducible research;
* аналітичної документації. Його розвиває компанія-користувач Posit. '''Суть прикладу:''' R дає можливість оперативно виконувати команди й одразу бачити результат, що інтуїтивно для дослідження даних. Matrix застосовується для для:
Приклад:
== Shiny ==
Приклад:
<div style="background:#ecfdf5; border-left:6px solid #10b981; padding:12px; margin:12px 0;">
</div>
* прогнозування продажів;
* аналіз сезонності;
* тренди;
* згладжування;
* ARIMA;
* ETS;
* Prophet;
* фінансові ряди;
* економічні показники;
* моніторинг метрик. '''stringr''' — пакет tidyverse для роботи з текстом.<div style="background:#eafaf1; border-left:6px solid #2ecc71; padding:12px; margin:12px 0;">
== Pipe operator ==
* scatter plots;
* line charts;
* bar charts;
* histograms;
* boxplots;
* density plots;
* facets;
* statistical graphics;
* publication-quality charts.<syntaxhighlight lang="r">
<div style="background:#ecfdf5; border-left:6px solid #10b981; padding:12px; margin:12px 0;">
<div style="background:#ecfdf5; border-left:6px solid #10b981; padding:12px; margin:12px 0;">
'''Практична роль:''' tibble зручна для сучасного R-коду, особливо разом із dplyr і ggplot2. library(ggplot2)
date <- ymd("2026-05-08")
month(date)
year(date)
summarise(
'''Shiny''' — фреймворк для створення інтерактивних web-застосунків і dashboard на R. * категорій;
* груп;
* рівнів;
* статистичних моделей;
* ordered categories;
* графіків;
* analysis of variance.</div>
== Data frame ==
'''Практична роль:''' RStudio зробила роботу з R зручнішою для аналітиків, дослідників і data scientists. Часто векторизовані операції або tidyverse-підхід роблять код коротшим і зрозумілішим. * `filter`;
* `select`;
* `mutate`;
* `arrange`;
* `summarise`;
* `group_by`;
* `left_join`;
* `inner_join`;
* `bind_rows`. print(count)
<div style="background:#ecfdf5; border-left:6px solid #10b981; padding:12px; margin:12px 0;">
Приклад:
Простий приклад:
== Tibble ==
<div style="background:#e8f8f5; border-left:6px solid #16a085; padding:12px; margin:12px 0;">
Запуск R-коду можливий:
</div>
== Перша програма на R ==
<syntaxhighlight lang="r">
Це означає: змінна `y` моделюється через `x1` і `x2`.== Factor ==
Вона містить пакети для:
== List ==
lubridate корисний для:
</div>
Простий приклад:
'''критично:''' R історично створювалася не як універсальна мова для всього, а як інструмент для статистики й аналізу даних. status <- factor(c("new", "active", "blocked", "active"))
print(status)
)
CRAN містить пакети для:
Загальний SEO-опис
Основні типи даних у R:
Приклад:
- у R console;
- у RStudio;
- у Positron;
- у Jupyter Notebook;
- через Rscript;
- у R Markdown або Quarto. критично: багато об’єктів у R, зокрема результати моделей, фактично виступає як списками зі структурованими компонентами. З часом R стала відкритою мовою з великою спільнотою, пакунками CRAN і потужною екосистемою для аналізу даних.
Задачі:
- створювати інтерактивні графіки;
- робити фільтри;
- будувати dashboard;
- публікувати моделі;
- давати бізнес-користувачам доступ до аналізу;
- створювати data apps без повноцінного frontend-фреймворку.
message <- "Hello, world!" print(message) </syntaxhighlight>
Практична роль: R добре підходить для класичного machine learning, особливо коли важлива статистична інтерпретація й аналіз даних. Tidyverse — це набір R-пакетів для сучасної роботи з даними.
Практична роль: R часто починає аналітичний workflow із імпорту CSV, Excel, бази даних або API.== tidymodels == Основні функції:
Практична роль: apply-функції допомагають опрацьовувати списки, матриці й групи даних без явного циклу. Практична роль: lubridate робить роботу з датами в R значно зручнішою. user <- list(
name = "Alice", age = 25, scores = c(90, 85, 88)
)
print(user$name) </syntaxhighlight>
Tidyverse орієнтований на:
x <- 10 name <- "Alice" active <- TRUE </syntaxhighlight>
- preprocessing;
- recipes;
- model specification;
- resampling;
- tuning;
- workflows;
- metrics;
- evaluation. через Практична роль: stringr користувачі можуть чистити й опрацьовувати текстові інформаційні дані в таблицях. subset(cyl == 6)
Пакети:
Перевага CRAN: ERP-платформа пакетів R дуже широка, особливо для статистики, науки й прикладного аналізу даних.</syntaxhighlight> Головна структура R: data frame — це базовий формат для більшості задач аналізу даних. це мова програмування і середовище; так само реалізовано аналізу даних, візуалізації, data science, машинного навчання, наукових досліджень і підготовки відтворюваних аналітичних звітів виступає ключовою рисою статистичних обчислень забезпечується через R. )
У сучасному R так само виступає як base pipe `|>`:
'''R Markdown''' дає можливість поєднувати текст, R-код, графіки й результати в одному документі. '''Практична роль:''' R особливо сильна там, де потрібно оперативно перейти від сирих даних до статистичного висновку, графіка або звіту. y ~ x1 + x2
'''List''' — структура, яка здатна містити елементи різних типів. Приклад напрямів:
Приклад `while`:
library(shiny) result <- mtcars %>%
Регресія
<syntaxhighlight lang="r">
== Time series ==
* пошук pattern;
* заміна тексту;
* розділення рядків;
* об’єднання тексту;
* зміна регістру;
* регулярні вирази;
* очищення текстових колонок.<syntaxhighlight lang="r">
<div style="background:#eef2ff; border-left:6px solid #4f46e5; padding:12px; margin:12px 0;">
summarise(avg_mpg = mean(mpg))
<syntaxhighlight lang="r">
'''Критично:''' пропущені значення можуть змінити результат аналізу. Приклад:
add <- function(a, b) {
a + b
}
result <- add(2, 3)
print(result)
numbers <- c(1, 2, 3, 4, 5)
numbers * 2
R підтримує класичні цикли.
'''Основна ідея:''' R розроблена для роботи з даними: статистики, таблиць, моделей, графіків, досліджень і аналітичних звітів. Результат:
'''Перевага Shiny:''' аналітик здатна перетворити R-аналіз на інтерактивний застосунок без окремої frontend-розробки. Приклад:
* `forecast`;
* `fable`;
* `tsibble`;
* `zoo`;
* `xts`;
* `prophet`.== Функції ==
<syntaxhighlight lang="r">
== NA ==
} else {
== Статистика в R ==
== Packages ==
Приклади:
'''Практична роль:''' matrix зручна для числових обчислень, але для реальних таблиць із різними типами частіше використовують data frame. result <- mtcars |>
<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;">
== Формули в R ==
{{SEO
|title=Мова програмування R — статистика, аналіз даних, візуалізація, data science і наукові обчислення
|description=Мова програмування R — Wiki-стаття про мову й середовище для статистичних обчислень, аналізу даних, data science, візуалізації, машинного навчання та наукових досліджень. Розглянуто RStudio, CRAN, packages, data frames, vectors, factors, tidyverse, dplyr, ggplot2, Shiny, R Markdown, Quarto, статистичне моделювання, machine learning, переваги, обмеження і хороші практики.
|keywords=мова програмування R, R programming language, R, статистика, аналіз даних, data science, наукові обчислення, RStudio, Posit, CRAN, tidyverse, dplyr, ggplot2, Shiny, R Markdown, Quarto, data frame, vector, factor, statistical computing, machine learning, visualization, регресія, статистичне моделювання, програмування
|alternativeTo=ручний аналіз даних в Excel; статистичні розрахунки без коду; ручне створення графіків; ізольовані статистичні пакети без гнучкого програмування; одноразові аналітичні файли без відтворюваності; ручне формування звітів; закриті статистичні інструменти для задач, які можна автоматизувати в R
}}
</div>
== Для чого застосовується для R ==
<div style="background:#e7f3ff; border-left:6px solid #2b7cff; padding:12px; margin:12px 0;">
<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;">
R добре підходить для:
count <- 3
while (count > 0) {
Вектор містить елементи одного типу. Це таблиця, де колонки можуть мати різні типи. Приклад:
</div>
'''CRAN''' або '''Comprehensive R Archive Network''' — це провідний репозиторій пакетів R. '''NA''' означає відсутнє значення. * прогнозування;
* пояснення залежностей;
* статистичного висновку;
* економетрики;
* аналізу факторів;
* перевірки гіпотез.</div>
* `mean`;
* `median`;
* `sd`;
* `var`;
* `summary`;
* `quantile`;
* `cor`;
* `t.test`;
* `chisq.test`;
* `aov`;
* `lm`;
* `glm`. Приклад:
<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;">
== lubridate ==
== RStudio і Posit ==
== ggplot2 ==
'''Суть pipe:''' pipe дає можливість читати обробку даних як послідовність кроків зверху вниз. * аналіз таблиць;
* статистичні тести;
* регресія;
* класифікація;
* clustering;
* time series analysis;
* data visualization;
* dashboard;
* reporting;
* автоматизація процесів аналітики;
* наукові дослідження;
* обробка експериментальних даних;
* аналіз опитувань;
* фінансове моделювання;
* біоінформатика;
* економетрика. Їх потрібно виявляти, пояснювати й опрацьовувати. print("Minor")
= Мова програмування R =
library(stringr)
summary(mtcars)
* розширення можливостей R;
* роботи з конкретними форматами даних;
* статистичного аналізу;
* створення графіків;
* побудови моделей;
* підготовки звітів;
* створення вебзастосунків;
* інтеграцій із базами даних або API. labs(
* `ggplot2`;
* `dplyr`;
* `tidyr`;
* `readr`;
* `purrr`;
* `tibble`;
* `stringr`;
* `forcats`.<div style="background:#eafaf1; border-left:6px solid #2ecc71; padding:12px; margin:12px 0;">
'''критично:''' у R не завжди потрібно писати цикли. 2 4 6 8 10
summary <- mtcars %>%
R підтримує vectorized operations, тобто операції над усім вектором одразу. count <- count - 1 } </syntaxhighlight>
У tidyverse часто застосовується для `%>%`:
R виникла як реалізація ідей мови S, яка використовувалася для статистичних обчислень.
'''tidymodels''' — сучасна ERP-платформа R для machine learning у стилі tidyverse. data <- read_csv("data.csv")
До tidyverse належать:
У R змінні зазвичай створюються через оператор `<-`.
Приклад:
<div style="background:#e8f8f5; border-left:6px solid #16a085; padding:12px; margin:12px 0;">
'''readxl''' застосовується для для читання Excel-файлів. install.packages("ggplot2")
== apply-сімейство ==
<syntaxhighlight lang="r">
<div style="background:#e7f3ff; border-left:6px solid #2b7cff; padding:12px; margin:12px 0;">
Приклад `for`:
== tidyr ==
R має функції для сценарії використання операцій до структур даних. Саме тому її синтаксис і стандартні структури сильно орієнтовані на data analysis. Приклад:
Він базується на grammar of graphics. У R потрібно явно враховувати missing values.<div style="background:#e8f8f5; border-left:6px solid #16a085; padding:12px; margin:12px 0;">
* парсингу дат;
* виділення року, місяця, дня;
* роботи з timezone;
* обчислення періодів;
* аналізу часових даних;
* time series preprocessing. * `parsnip`;
* `recipes`;
* `workflows`;
* `rsample`;
* `yardstick`;
* `tune`. R розвивалась навколо потреб:
== Змінні ==
== Machine Learning у R ==
'''Головна сила R:''' статистичні функції виступає як природною частиною мови й екосистеми. * `caret`;
* `tidymodels`;
* `randomForest`;
* `xgboost`;
* `ranger`;
* `e1071`;
* `glmnet`;
* `nnet`;
* `keras`;
* `torch`;
* `mlr3`. Приклад:
Factors використовуються для:
values <- c(10, 20, 30, 40, 50)
mean(values)
sd(values)
summary(values)
R особливо популярна серед статистиків, аналітиків даних, дослідників, data scientists, біоінформатиків, економістів, соціологів, фінансових аналітиків і фахівців, які працюють із даними. print(i) Перевага tidymodels: вона дає єдиний і tidy-style підхід до побудови, навчання й оцінювання моделей. library(dplyr)
Приклад:
Перевага ggplot2: графік будується як набір шарів, тому його швидко поступово ускладнювати й налаштовувати. Функції потрібні для:
</syntaxhighlight>
Приклади задач:
<div style="background:#e7f3ff; border-left:6px solid #2b7cff; padding:12px; margin:12px 0;">
R широко застосовується для для регресійного аналізу.
Перевага: R дає можливість поєднати аналіз даних, статистику, графіки й формування звітів в одному відтворюваному workflow. Data frame — одна з найважливіших структур у R.</syntaxhighlight>
Базові статистичні функції:
age <- 25 price <- 19.99 name <- "Alice" is_active <- TRUE </syntaxhighlight>
застосовується для для:
Суть функції: у R функції дозволяють перетворити одноразовий аналіз на повторюваний інструмент. library(lubridate)
Приклад:
- `apply`;
- `lapply`;
- `sapply`;
- `tapply`;
- `mapply`.== stringr ==
R часто використовують для аналізу часових рядів. * повторного використання коду;
- автоматизації аналізу;
- створення власних обчислень;
- зменшення дублювання;
- тестування;
- побудови пакетів.
mpg ~ wt * cyl '''критично:''' формульний синтаксис R дуже зручний, але потрібно розуміти, що означають `+`, `*`, `:` і `.` у контексті моделей. Приклади: R застосовується для для машинного навчання. * лінійної алгебри; * статистики; * числових обчислень; * моделювання; * матричних операцій. ggplot2 застосовується для для: <syntaxhighlight lang="r"> Shiny дає можливість: У цьому прикладі модель прогнозує `mpg` за змінними `wt` і `cyl`.<syntaxhighlight lang="r"> </div> '''Tibble''' — сучасніша реліз системи data frame з tidyverse.<syntaxhighlight lang="r"> <syntaxhighlight lang="r"> <syntaxhighlight lang="r"> <syntaxhighlight lang="r"> '''Практична порада:''' правильна форма таблиці часто спрощує і аналіз, і графіки, і моделювання. '''Практична роль:''' R робить статистичне моделювання дуже доступним через формули на кшталт `y ~ x1 + x2`. '''Vector''' — базова структура даних у R. '''Практична роль:''' R має типи й структури, які дуже зручні саме для табличних і статистичних задач. * статистиків; * науковців; * аналітиків; * дослідників; * викладачів; * data scientists; * фахівців із прикладних даних. R має потужні функції ERP статистики з коробки.<syntaxhighlight lang="r"> library(tidyr) </div> print("Adult") == dplyr == library(ggplot2) <syntaxhighlight lang="r"> library(tibble) <syntaxhighlight lang="r"> x = "Вага", </div> Tibble має зручніший друк, кращу поведінку з типами й частіше застосовується для в tidyverse.== readr і readxl == </div> Data frame застосовується для для: == Цикли == data <- read_excel("report.xlsx")
mpg ~ wt + cyl
long_data <- pivot_longer(
data,
cols = starts_with("year_"),
names_to = "year",
values_to = "value"
) </syntaxhighlight> Умовні конструкції в R:
ui <- fluidPage(
sliderInput("n", "Кількість:", 1, 100, 50),
plotOutput("plot")
)
server <- function(input, output) {
output$plot <- renderPlot({
hist(rnorm(input$n))
})
}
shinyApp(ui, server) </syntaxhighlight>
items <- list(1:3, 4:6, 7:9)
result <- lapply(items, mean) print(result) </syntaxhighlight>
- numeric;
- integer;
- character;
- logical;
- factor;
- Date;
- POSIXct;
- vector;
- matrix;
- array;
- list;
- data frame;
- tibble.
Пакети використовуються для: Мова R застосовується для для задач, де потрібно аналізувати інформаційні дані, будувати статистичні моделі, перевіряти гіпотези, створювати графіки, цифровізувати звіти або виконувати дослідницькі обчислення. ```{r} count = n() mpg ~ wt Приклад: <div style="background:#e7f3ff; border-left:6px solid #2b7cff; padding:12px; margin:12px 0;"> Підключення пакета: </div> Пакети й підходи: users <- tibble( name = c("Alice", "Bob", "Carol"), age = c(25, 30, 28) ) print(users)
Matrix — це двовимірна структура, де всі елементи мають один тип.== R Markdown ==
історія продукту R
Фрагмент:
}
- табличних даних;
- CSV;
- результатів SQL-запитів;
- статистичного аналізу;
- побудови моделей;
- візуалізації;
- звітності. Основні задачі:
Суть vectorization: у R часто не потрібно писати цикл для кожного елемента — операційна дія здатна застосовуватися до всього вектора. Приклад:
library(readxl)
values <- c(10, 20, NA, 40)
mean(values) mean(values, na.rm = TRUE) </syntaxhighlight>
model <- lm(mpg ~ wt + cyl, data = mtcars)
summary(model)
print(summary)
library(readr)
- статистики;
- візуалізації;
- машинного навчання;
- роботи з даними;
- звітності;
- часових рядів;
- біоінформатики;
- економетрики;
- геоданих;
- web apps. Package у R — це набір функцій, даних, документації й іноді compiled code. Формули — важлива частина статистичного синтаксису R.== CRAN ==
- читабельний код;
- pipe workflow;
- tidy data;
- трансформацію таблиць;
- візуалізацію;
- імпорт даних;
- роботу з текстом;
- функціональну обробку. Для векторних умов часто використовують `ifelse`:
geom_point() +
Головна перевага tidyverse: він дає цілісний, зручний і читабельний стиль роботи з даними. age <- 20
if (age >= 18) {
m <- matrix(1:6, nrow = 2, ncol = 3) print(m) </syntaxhighlight>
RStudio застосовується для для:
Factor — тип даних для категоріальних змінних. Типові задачі:
install.packages("dplyr")
Типові сценарії використання R:
filter(cyl == 6) %>%
mpg ~ . avg_mpg = mean(mpg),
ggplot(mtcars, aes(x = wt, y = mpg)) +
Суть змінної: змінна в R зберігає об’єкт: число, текст, вектор, таблицю, модель або інший результат обчислення. group_by(cyl) %>%
</syntaxhighlight>
== Vector ==