R: различия между версиями

Материал из Поле цифровой дидактики
м Patarakin переименовал страницу R (язык программирования) в R: Все они тут - языки программирования
Нет описания правки
Строка 1: Строка 1:
{{Карточка языка программирования
{{Карточка языка программирования
|Description=R — язык программирования для статистической обработки данных и работы с графикой, а также свободная программная среда вычислений с открытым исходным кодом в рамках проекта GNU. Используется для обработки, анализа и визуализации данных
|FieldActivity=Knowledge Constructor, Computational Thinker, Creative Communicator
|FieldActivity=Knowledge Constructor, Computational Thinker, Creative Communicator
|Возрастная категория=16
|Возрастная категория=16
Строка 18: Строка 19:
|Сreators=Айхэка
|Сreators=Айхэка
}}
}}
R — язык программирования для статистической обработки данных и работы с графикой. Используется для анализа данных наряду с [[NetLogo]], [[Графвиз]], [[VUE]], [[Gephi]], [[VOSviewer]]
R — язык программирования для статистической обработки данных и работы с графикой. Используется для анализа данных наряду с [[NetLogo]], [[Графвиз]], [[VUE]], [[Gephi]], [[VOSviewer]]


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


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





Версия от 11:44, 8 декабря 2022


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


R упоминается в свойствах следующих страниц
APIs for social scientists: A collaborative review, Artomchik mgpuev, Big Data with R, CSV, Causal Inference, Causal Inference in R, Complex network analysis, Daria Mukomolova, Data in Education Seminar/28 02 2024, Economic Disparity, Egorovsn051, Individual-Based Models of Cultural Evolution: A Step-by-Step Guide Using R, Interactive web-based data visualization with R, plotly, and shiny, Introduction to Econometrics with R, Introductory Statistics for Economics, Kalinina, Learn ggplot2 using Shiny App, Learning analytics methods and tutorials: A practical guide using R, 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, TF-IDF, Text Mining with R, Text Mining with R: A Tidy Approach, Tidy Modeling with R, VOMAS, Virus on a Network, Wickham, Автокорреляция, Алгоритмы и структуры данных (syllabus), Анализ данных, Анализ социальных сетей/Ключевые понятия, Анализ тональности текста, Аналитика, Аналитика мультимодальная, Аналитика учебная, Библиографический анализ области знаний, Библиометрические исследования, Биграф, Биология, Большие данные, Вектор, Воспроизводимость, Временная сложность алгоритма, Выборка, Вычислительное мышление… следующие результаты



R — язык программирования для статистической обработки данных и работы с графикой. Используется для анализа данных наряду с NetLogo, Графвиз, VUE, Gephi, VOSviewer

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

Язык поддерживает минимальный набор примитивных типов данных: символьный (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()

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

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

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

Книги по Tidyverse

  1. Hadley Wickham and Garrett Grolemund - R for Data Science Import, Tidy, Transform, Visualize, and Model Data 2017


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

http://docu.openrepgrid.org/s


R + Gephi