R (язык программирования)
(→iGraph) |
(→Специальные пакеты) |
||
(не показаны 29 промежуточных версий 1 участника) | |||
Строка 1: | Строка 1: | ||
+ | {{Карточка языка программирования | ||
+ | |Ages=16, 17, 18, 25 | ||
+ | |FieldActivity=Knowledge Constructor, Computational Thinker, Creative Communicator | ||
+ | |Dimension=2D | ||
+ | |Purpose=Специальный прикладной язык | ||
+ | |Visual_Text_Blocks=Текст | ||
+ | |Openness=Открытый | ||
+ | |Address=https://www.r-project.org/ | ||
+ | |Ancestors=Scheme | ||
+ | |Descendants=Julia | ||
+ | |ActiveNow=Project is active | ||
+ | |Remixing?=Yes | ||
+ | }} | ||
{{w|http://ru.wikipedia.org/wiki/R_(язык_программирования)|R (язык программирования)}} | {{w|http://ru.wikipedia.org/wiki/R_(язык_программирования)|R (язык программирования)}} | ||
− | R — язык программирования для статистической обработки данных и работы с графикой. Используется в Летописи для внешнего анализа данных наряду с [[Netlogo]] | + | R — язык программирования для статистической обработки данных и работы с графикой. Используется в Летописи для внешнего анализа данных наряду с [[Netlogo]], [[Графвиз]], [[VUE]], [[Gephi]], [[VOSviewer]] |
== Базовые возможности == | == Базовые возможности == | ||
Строка 19: | Строка 32: | ||
=== Матрицы === | === Матрицы === | ||
[[Матрица]] (matrix) – это двумерный массив данных, в котором каждый элемент имеет одинаковый тип (числовой, текстовый или логический). Вы можете обозначать строки, столбцы и элементы матрицы при помощи индексов и квадратных скобок. Например, X[i,] обозначает i-ую строку матрицы X, X[,j] – обозначает ее j-ый столбец, а X[i, j] соответствует элементу этой матрицы, расположенному на пересечении этой строки и этого столбца. | [[Матрица]] (matrix) – это двумерный массив данных, в котором каждый элемент имеет одинаковый тип (числовой, текстовый или логический). Вы можете обозначать строки, столбцы и элементы матрицы при помощи индексов и квадратных скобок. Например, X[i,] обозначает i-ую строку матрицы X, X[,j] – обозначает ее j-ый столбец, а X[i, j] соответствует элементу этой матрицы, расположенному на пересечении этой строки и этого столбца. | ||
+ | |||
+ | См. [[Матрица смежности]] | ||
=== Массивы === | === Массивы === | ||
Строка 50: | Строка 65: | ||
mydata <- read.csv(file.choose(),sep=";", as.is=T, header=TRUE) | mydata <- read.csv(file.choose(),sep=";", as.is=T, header=TRUE) | ||
+ | |||
+ | === library(tidyverse) === | ||
+ | * dt1 <- read_csv2("0303.csv") - считать таблицу | ||
== Как экспортировать данные из R ? == | == Как экспортировать данные из R ? == | ||
write.csv(x, file="filename", row.names=FALSE) | write.csv(x, file="filename", row.names=FALSE) | ||
+ | |||
+ | === library(tidyverse) === | ||
+ | |||
+ | * write_csv (object "filename.csv") | ||
== Как обработать данные в R ? == | == Как обработать данные в R ? == | ||
Строка 61: | Строка 83: | ||
Выбрать только нужные столбцы | Выбрать только нужные столбцы | ||
newLD <- subset(letdata, select = c( -rev_user_text, -page_title)) | 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]) | LT2 <- data.frame(User = letdata[,4], Page = letdata[,3]) | ||
Отсортировать по времени | Отсортировать по времени | ||
− | sort1.let <- newLD[order(NewLD$rev_timestamp), ] | + | * sort1.let <- newLD[order(NewLD$rev_timestamp), ] |
+ | ** Например, сортируем историю летописи lhist2 <- lhist[order(lhist$rev_timestamp),] | ||
Выбрать уникальные значения | Выбрать уникальные значения | ||
ubi2 <- data.frame(User = ubi[,2], Page = ubi[,3]) | ubi2 <- data.frame(User = ubi[,2], Page = ubi[,3]) | ||
− | users <- unique(ubi2[,1]) pages <- unique(ubi2[,2]) | + | * users <- unique(ubi2[,1]) |
+ | * pages <- unique(ubi2[,2]) | ||
+ | * users2006 <- unique(lhist.sub2006[,2]) ; | ||
+ | |||
+ | А теперь посчитать сколько в списке участников | ||
; Выбрать только тех, у кого есть все значения | ; Выбрать только тех, у кого есть все значения | ||
Строка 88: | Строка 116: | ||
== Специальные пакеты == | == Специальные пакеты == | ||
− | === | + | === [[igraph]] === |
− | + | Пакет для работы с графами - создание и видуализация графов | |
− | + | === [[tidyverse]] === | |
− | + | Пакет упрощающий работу с данными. | |
− | + | ||
+ | Книги по Tidyverse | ||
+ | # Hadley Wickham and Garrett Grolemund - '''R for Data Science Import, Tidy, Transform, Visualize, and Model Data''' 2017 | ||
+ | # | ||
− | |||
− | |||
− | |||
− | === | + | === [[tidygraph]] === |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== Пакет для обработки решеток Келли - OpenRepGrid === | === Пакет для обработки решеток Келли - OpenRepGrid === | ||
http://docu.openrepgrid.org/s | http://docu.openrepgrid.org/s | ||
+ | |||
+ | |||
+ | === [[R]] + [[Netlogo]] === | ||
+ | |||
+ | * http://www.inside-r.org/packages/cran/RNetLogo/docs/NLGetGraph | ||
+ | |||
+ | === R + Gephi === | ||
+ | |||
+ | * https://blogs.msdn.microsoft.com/gpalem/2013/03/29/convert-igraph-r-objects-to-gexf-gephi-format/ | ||
---- | ---- | ||
− | |||
− | |||
[[Категория:Язык программирования]] | [[Категория:Язык программирования]] | ||
[[Категория:R]] | [[Категория:R]] | ||
+ | [[Категория:Учебная аналитика]] |
Текущая версия на 10:40, 26 марта 2019
Ages | 16, 17, 18, 25 |
---|---|
FieldActivity | Knowledge Constructor, Computational Thinker, Creative Communicator |
Purpose | Специальный прикладной язык |
Visual_Text_Blocks | Текст |
Dimension | 2D |
Openness | Открытый |
Address | https://www.r-project.org/ |
Ancestors | Scheme |
Descendants | Julia |
ActiveNow | Project is active |
Remixing? | Yes |
R — язык программирования для статистической обработки данных и работы с графикой. Используется в Летописи для внешнего анализа данных наряду с Netlogo, Графвиз, VUE, Gephi, VOSviewer
Содержание[убрать] |
[править] Базовые возможности
[править] Типы данных
[править] Векторы
Векторы (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
Пакет упрощающий работу с данными.
Книги по Tidyverse
- Hadley Wickham and Garrett Grolemund - R for Data Science Import, Tidy, Transform, Visualize, and Model Data 2017
[править] tidygraph
[править] Пакет для обработки решеток Келли - OpenRepGrid