История образовательной Галактики
Материал из Letopisi.Ru — «Время вернуться домой»
(Различия между версиями)
(Новая страница: « История Галактики средствами R rm(list=ls()) ubi <- read.csv(file.choose(),sep=";", as.is=T, header=F, encoding ="UTF-8") ubi2 …») |
|||
Строка 1: | Строка 1: | ||
+ | Как мы превращаем историю деятельности в структуру отношений? Здесь приведен пример истории образов | ||
− | История Галактики средствами R | + | == История Галактики средствами [[R]] == |
+ | Понадобится пакет igraph | ||
− | + | rm(list=ls()) # очистим всё | |
− | rm(list=ls()) | + | ubi <- read.csv(file.choose(),sep=";", as.is=T, header=F, encoding ="UTF-8") # header=TRUE - если есть заголовки столбцов |
− | ubi <- read.csv(file.choose(),sep=";", as.is=T, header=F, encoding ="UTF-8") | + | ubi2 <- data.frame(User = paste("U",ubi[,1],sep=":" ) , Page = paste("P",ubi[,2],sep=":") ) # Это мы на всякий случай обозначили участников и страницы |
− | ubi2 <- data.frame(User = paste("U",ubi[,1],sep=":" ) , Page = paste("P",ubi[,2],sep=":") ) # | + | ubi2.network <- graph.data.frame(ubi2,directed=T) # у нас было 2 столбца - и мы из этих данных построили сеть - в принципе мы могли их всех |
− | ubi2.network <- graph.data.frame(ubi2,directed=T) | + | ubi2.network <- simplify(ubi2.network) # упрощение |
− | ubi2.network <- simplify(ubi2.network) | + | |
V(ubi2.network)$color <-ifelse (substring(V(ubi2.network)$name, 1, 1) == "U",'red','blue') | V(ubi2.network)$color <-ifelse (substring(V(ubi2.network)$name, 1, 1) == "U",'red','blue') | ||
V(ubi2.network)$shape <-ifelse (substring(V(ubi2.network)$name, 1, 1) == "U",'circle','square') | V(ubi2.network)$shape <-ifelse (substring(V(ubi2.network)$name, 1, 1) == "U",'circle','square') | ||
Строка 15: | Строка 16: | ||
par(mai=c(0,0,1,0)) | par(mai=c(0,0,1,0)) | ||
plot(ubi2.network, edge.arrow.size=.4,vertex.label=NA, vertex.size=2, layout=layout.kamada.kawai) | plot(ubi2.network, edge.arrow.size=.4,vertex.label=NA, vertex.size=2, layout=layout.kamada.kawai) | ||
− | + | ||
− | + | bad.vs<-V(ubi2.network)[degree(ubi2.network)<3] #identify those vertices part of less than three edges | |
− | + | ubi2.network<-delete.vertices(ubi2.network, bad.vs) #exclude them from the graph - убрать узлы с | |
− | bad.vs<-V( | + | |
− | + | ||
− | ubi2.network<-delete.vertices(ubi2.network, bad.vs) #exclude them from the graph | + | |
[[Категория:Учебная аналитика]] | [[Категория:Учебная аналитика]] | ||
[[Категория:R]] | [[Категория:R]] |
Версия 16:17, 31 января 2016
Как мы превращаем историю деятельности в структуру отношений? Здесь приведен пример истории образов
История Галактики средствами R
Понадобится пакет igraph
rm(list=ls()) # очистим всё ubi <- read.csv(file.choose(),sep=";", as.is=T, header=F, encoding ="UTF-8") # header=TRUE - если есть заголовки столбцов ubi2 <- data.frame(User = paste("U",ubi[,1],sep=":" ) , Page = paste("P",ubi[,2],sep=":") ) # Это мы на всякий случай обозначили участников и страницы ubi2.network <- graph.data.frame(ubi2,directed=T) # у нас было 2 столбца - и мы из этих данных построили сеть - в принципе мы могли их всех ubi2.network <- simplify(ubi2.network) # упрощение V(ubi2.network)$color <-ifelse (substring(V(ubi2.network)$name, 1, 1) == "U",'red','blue') V(ubi2.network)$shape <-ifelse (substring(V(ubi2.network)$name, 1, 1) == "U",'circle','square') set.seed(42) par(mai=c(0,0,1,0)) plot(ubi2.network, edge.arrow.size=.4,vertex.label=NA, vertex.size=2, layout=layout.kamada.kawai) bad.vs<-V(ubi2.network)[degree(ubi2.network)<3] #identify those vertices part of less than three edges ubi2.network<-delete.vertices(ubi2.network, bad.vs) #exclude them from the graph - убрать узлы с