R

Материал из Поле цифровой дидактики
(перенаправлено с «R (язык программирования)»)


Краткое описание языка R — язык программирования для статистической обработки данных и работы с графикой, а также свободная программная среда вычислений с открытым исходным кодом в рамках проекта GNU. Используется для обработки, анализа и визуализации данных
Компетенции в каких сферах формирует Knowledge Constructor, Computational Thinker, Creative Communicator
Парадигмы программирования Функциональное программирование
Возрастная категория 16
Назначение языка (Общее / Учебное) Специальный прикладной язык
Visual_Text_Blocks Текст
Измерение (2D/3D/Tangible) 2D
Область знаний
Открытость продукта Открытый
Address https://www.r-project.org/
Предки (Ancestors) Scheme, S
Потомки (Descendants) Julia
Активность в данный момент Project is active
Доступны ремиксы? Да
Год создания 1993
Создатели Айхэка
Поясняющее видео
Используется для создания мобильных приложений? Нет


R упоминается в свойствах следующих страниц
APIs for social scientists: A collaborative review, CSV, Complex network analysis, Data in Education Seminar/28 02 2024, Egorovsn051, Individual-Based Models of Cultural Evolution: A Step-by-Step Guide Using R, Interactive web-based data visualization with R, plotly, and shiny, Learn ggplot2 using Shiny App, MariaMyshkina, Mastering Shiny: Build Interactive Apps, Reports, and Dashboards Powered by R, Modeling Social Behavior: Mathematical and Agent-Based Models of Social Dynamics and Cultural Evolution, Outstanding User Interfaces with Shiny, Patarakin, R for Data Science, Smaldino, Tidy Modeling with R, VOMAS, Virus on a Network, Wickham, Алгоритмы и структуры данных (syllabus), Анализ данных, Анализ социальных сетей/Ключевые понятия, Аналитика, Аналитика мультимодальная, Аналитика учебная, Библиографический анализ области знаний, Библиометрические исследования, Биграф, Биология, Большие данные, Вектор, Воспроизводимость, Временная сложность алгоритма, Вычислительное мышление, Генетика, Гигантская компонента, Гистограмма, Граф, Датасет, Исследовательский анализ данных, Как собрать своё первое приложение Shinу, Классификация, регрессия и другие алгоритмы Data Mining с использованием R, Кластеризация, Клика, Коэффициент кластеризации, Массив, Машинное обучение, Многоагентное моделирование в изучении группового поведения (Syllabus), Множественная регрессия, Модель Лотки — Вольтерры… следующие результаты


Книги про R
 InventorDescription
APIs for social scientists: A collaborative reviewВ книге представлено множество API социальных сетей и основы их использования. В статье по этой книге собраны примеры API и особенности работы с ними. Код а книге - R
Individual-Based Models of Cultural Evolution: A Step-by-Step Guide Using RAcerbiКнига показывает как создавать агентно-ориентированные модели или ABM культурной эволюции. В тексте книги используется код на языке программирования R. От очень простых моделей основных процессов культурной эволюции, таких как предвзятая передача и культурная мутация, к более сложным темам, таким как эволюция социального обучения, демографические эффекты и анализ социальных сетей.
Interactive web-based data visualization with R, plotly, and shinySievertКнига по разработке приложений в веб среде на основе языка R + Plotly + Shiny It makes heavy use of plotly for rendering graphics, but you’ll also learn about other R packages that augment a data science workflow, such as the tidyverse and shiny
Learn ggplot2 using Shiny AppСетевая книга по освоению приемов работы с пакетом ggplot2 языка R в среде Shiny
Mastering Shiny: Build Interactive Apps, Reports, and Dashboards Powered by RWickhamКнига о создании аналитических веб-приложений на языке R в среде Shiny
Modeling Social Behavior: Mathematical and Agent-Based Models of Social Dynamics and Cultural EvolutionSmaldinoСоциальные, поведенческие и когнитивные науки исторически полагались на силу слова. Слова имеют силу. Богатые аналогии могут найти отклик в умах читателей и пролить свет на тайны природы. Я говорю о вербальных теориях, описательных объяснениях сложных явлений. Большинство теорий, вероятно, более точны, чем поэтичны, но они, как правило, опираются на свойство большинства языков, согласно которому фраз могут нести в себе несколько возможных импликатур — рассмотрим, например, такие слова, как «восприятие», «категория», «идентичность», «тождественность» обучение» и даже «реакция» достаточно двусмысленны, чтобы допускать множество интерпретаций. То есть язык по своей сути (и адаптивно) расплывчат и двусмыслен. В конечном счете, это проблема для ученых, потому что нам нужно предельно четко понимать, о чем мы говорим, чтобы выдвинуть полезные теории Вселенной.
Outstanding User Interfaces with ShinyGranjonA book about deeply customizing Shiny app for production.
R for Data ScienceWickhamПодробное руководство по использованию языка R для обработки, модификации, визуализации и программировании данных
Tidy Modeling with RSigleРуководство по созданию и использованию моделей при помощи пакетов из пространства tidyverse: recipes, parsnip, workflows, yardstick, and others.
Классификация, регрессия и другие алгоритмы Data Mining с использованием RШитиков, МастицкийОписана широкая совокупность методов построения статистических моделей классификации и регрессии для откликов, измеренных в альтернативной, категориальной и метрической шкалах. Подробно рассматриваются деревья решений, машины опорных векторов с различными разделяющими поверхностями, нелинейные формы дискриминантного анализа, искусственные нейронные сети и т.д.
Незримый колледж МЭШPatarakinСтатья, в которой понятие незримого колледжа применяется к сообществу учителей, сотрудничающих внутри репозитория московской электронной школы.

R — язык программирования для статистической обработки данных и работы с графикой. Высокоуровневый язык, ориентированный на решение задач по манипуляции с данными и обладающий широким набором проверенных библиотек (пакетов). R — интерпретируемый язык программирования, основным способом работы с которым является командный интерпретатор. Язык является регистрозависимым, в плане синтаксиса он похож, с одной стороны, на функциональные языки типа Scheme, с другой — на типичные современные сценарные языки, с простым синтаксисом и небольшим набором основных конструкций. Язык объектный: любой программный объект в нём имеет набор атрибутов — именованный список значений, определяющих его.

Используется для анализа данных наряду с NetLogo, graphviz, VUE, Gephi, VOSviewer

https://www.youtube.com/watch?v=uhCVcZ0p0b8

Базовые возможности

Язык поддерживает минимальный набор примитивных типов данных: символьный (character), числовой (numeric), логический (logical) и комплексный (complex). Числовые переменные, помимо обычных чисел, могут принимать специальные значения NaN (Not a Number — «не число») и Inf (Infinity — «бесконечность»).

Типы данных

Значения примитивных типов могут объединяться в векторы (vector), списки (list), матрицы или массивы (matrix), в том числе многомерные; эти комбинированные типы хранят наборы данных одного и того же примитивного типа. Помимо этого язык содержит понятие факторов (factor) — наборов категориальных или шкальных данных, принимающих строго определённый набор значений. Наконец, могут создаваться таблицы (data frame) — структуры данных, которые для каждой строки (индивида) хранят набор различных (и имеющих разные типы) параметров (признаков). Особенностью R является то, что операции с векторами и матрицами поддерживаются на уровне самого языка, как, например, в APL.


Векторы

Векторы (vector) – это одномерные массивы данных, которые могут содержать числовые, текстовые или логические значения. Для создания вектора применяется функция объединения c(). Вот примеры векторов каждого типа:

 a <- c(1, 2, 5, 3, 6, -2, 4)
 b <- c(one,two,three)
c <- c(TRUE, TRUE, TRUE, FALSE)

Матрицы

Матрица (matrix) – это двумерный массив данных, в котором каждый элемент имеет одинаковый тип (числовой, текстовый или логический). Вы можете обозначать строки, столбцы и элементы матрицы при помощи индексов и квадратных скобок. Например, X[i,] обозначает i-ую строку матрицы X, X[,j] – обозначает ее j-ый столбец, а X[i, j] соответствует элементу этой матрицы, расположенному на пересечении этой строки и этого столбца.

См. Матрица смежности

Массивы

Массивы данных (array) сходны с матрицами, но могут иметь больше двух измерений.

Таблицы

Таблица данных (data frame) – это более широко используемый по сравнению с матрицей объект, поскольку разные столбцы могут содержать разные типы данных (числовой, текстовый и т. д.). Таблица данных – это самая часто используемая структура данных в R.

Факторы

Категориальные (номинальные и порядковые) данные называются в R факторами.

Например, есть вектор diabetes <- c(“Type1”, “Type2”, “Type1”, “Type1”).

Команда diabetes <- factor(diabetes) преобразует этот вектор в (1, 2, 1, 1) и устанавливает внутреннее соответствие 1=Type1 и 2=Type2 (присвоение числовых значений происходит в алфавитном порядке).

Установку по умолчанию можно изменить при помощи параметра levels. Например,

status <- factor(status, order=TRUE, levels=c(Poor,Improved,Excellent))

Списки

Списки – это самый сложный тип данных в R. Фактически список – это упорядоченный набор объектов (компонентов).

Как загружать (импортировать данные в R)

data <- read.table(file.choose(),header=TRUE, sep=";", encoding="UTF-8")
x <- read.csv(file.choose(),header=TRUE, sep=";", encoding="UTF-8")

mydata <- read.csv(file.choose(),header=TRUE)

mydata <- read.csv(file.choose(),sep=";", as.is=T, header=TRUE)

library(tidyverse)

  • dt1 <- read_csv2("0303.csv") - считать таблицу

Как экспортировать данные из R ?

write.csv(x, file="filename", row.names=FALSE)

library(tidyverse)

  • write_csv (object "filename.csv")

Как обработать данные в R ?

Удалить ненужные столбцы, выбрать нужные значение по датам и т.д.

Выбрать только нужные столбцы newLD <- subset(letdata, select = c( -rev_user_text, -page_title))

  • newLD <- subset(letdata, select = c( rev_user_text, page_title)) - если именно их хотим оставить

LT2 <- data.frame(User = letdata[,4], Page = letdata[,3])

Отсортировать по времени

  • sort1.let <- newLD[order(NewLD$rev_timestamp), ]
    • Например, сортируем историю летописи lhist2 <- lhist[order(lhist$rev_timestamp),]

Выбрать уникальные значения ubi2 <- data.frame(User = ubi[,2], Page = ubi[,3])

  • users <- unique(ubi2[,1])
  • pages <- unique(ubi2[,2])
  • users2006 <- unique(lhist.sub2006[,2])  ;

А теперь посчитать сколько в списке участников

Выбрать только тех, у кого есть все значения
newdata <- na.omit(lhist )


Как выбрать тех, у кого значение соответствует указанному - Например, 2006

grep(pattern = "2006", lethist, value = TRUE)

subset(x, ...) — возвращает подмножество элемента, которое соответствует заданному условию

Диаграммы

dev.new()
plot()

Специальные пакеты

igraph

Пакет для работы с графами - создание и визуализация графов

tidyverse

Пакет упрощающий работу с данными.


tidygraph

Пакет для обработки решеток Келли - OpenRepGrid

http://docu.openrepgrid.org/s


R + Gephi


Shiny