История Летописи

Материал из Letopisi.Ru — «Время вернуться домой»
(Различия между версиями)
Перейти к: навигация, поиск
(Объединение связей)
 
(не показаны 2 промежуточные версии 1 участника)
Строка 1: Строка 1:
На этой странице история создания и правок страниц [[Летописи]] будет представлена как [[граф]].
+
На этой странице история создания и правок страниц [[Летописи]] будет представлена как [[карта]] или как  [[граф]].
Что у нас есть и что нам понадобиться?
+
В качестве макроскопов использованы [[R]], [[igraph]] и [[VOSviewer]]
  
Вся история изменений Летописи в текстовом формате csv на 143 мгб
+
[[История Летописи/Процедура превращения журнала в карту]]
История за каждый год с 2006 по 2015 доступна на сайте открытых данных https://hubofdata.ru/dataset?q=letopisi - для дальнейшего анализа. Каждый желающий может взять эти данные
+
  
== Разделение по годам ==
+
Не забыть извиниться - вклад и связи некоторых участников не показаны. Так, [[Участница:Тимохина Евгения]] не показана на картах, потому что вклад велик и связи ее слишком обширны.
  
; rev_timestamp;rev_user_text;rev_page;rev_user;page_title;rev_len
+
== История Летописи/2006 ==
:20090416061258;Наталия Ефимова;135741;27831;""Школа_№12,_города_Кунгура,_Пермского_края"";87
+
:20070427072926;Анна Коровко;42443;190;"BOTANICUS"_Малышева_И.В.;102
+
:20090320120452;Рината Рахимзянова;131370;27415;"Jack_London_and_his_creativity";3657
+
:20090320120526;Рината Рахимзянова;131370;27415;"Jack_London_and_his_creativity";3656
+
:20090320120558;Рината Рахимзянова;131370;27415;"Jack_London_and_his_creativity";3655
+
  
Возьмем [[R]] и попробуем выделить только правки 2006 года
+
{{:История Летописи/2006}}
  
* lhist <- read.csv(file.choose(),sep=";", as.is=T, header=T, encoding ="UTF-8") # считали всю историю Летописи
+
== История Летописи/2007 ==
* lhist <- na.omit(lhist ) # Убрали строки с неопределенными NA значениями
+
* sort1.let <- lhist[order(lhist$rev_timestamp), ] # Отсортировали записи по дате
+
  
Получили:
+
{{:История Летописи/2007}}
  
      rev_timestamp    rev_user_text rev_page rev_user      page_title rev_len
+
== История Летописи/2008 ==
759708 20051223042724      OckhamTheFox    96562        0    Мульт_Постер      48
+
100385 20060127110211 MediaWiki default        1        0 Главная_страница    253
+
100386 20060127134527            Admin        1        1 Главная_страница    699
+
100387 20060127134633            Admin        1        1 Главная_страница    703
+
100388 20060127135228            Admin        1        1 Главная_страница    718
+
100389 20060127140007 Евгений Патаракин        1        2 Главная_страница    747
+
  
 +
{{:История Летописи/2008}}
  
 +
== История Летописи/2009 ==
  
# lhist.sub2006 <- subset(lhist2,as.numeric(rev_timestamp) < 20070000000000  & as.numeric(rev_timestamp) > 20060000000000  ) ; Действия 2006 года
+
{{:История Летописи/2009}}
# lhist.sub2007 <- subset(lhist2,as.numeric(rev_timestamp) < 20080000000000  & as.numeric(rev_timestamp) > 20070000000000  ) ; 2007
+
# lhist.sub2008 <- subset(lhist2,as.numeric(rev_timestamp) < 20090000000000  & as.numeric(rev_timestamp) > 20080000000000  ) ; 2008
+
  
Сохранили все данные по годам - https://hubofdata.ru/dataset?q=letopisi - для дальнейшего анализа
+
== История Летописи/2010 ==
  
=== Данные для каждого года ===
+
{{:История Летописи/2010}}
Для каждого года мы можем посмотреть
+
# E - общее число действий legth(lhist.sub2007[,2])
+
# U - users2007 <- unique(lhist.sub2007[,2])  = length(unique(lhist.sub2009[,2]))  ;
+
# P - pages2007 <- unique(lhist.sub2007[,5])  ;
+
  
* users <- unique(lhist[,2])  ; выделить участников
+
== История Летописи/2011 ==
**  length(unique(lhist[,2]))  - посчитать участников
+
* pages <- unique(lhist[,5])  ;
+
** length(pages) = length(unique(lhist[,5]))
+
  
 +
{{:История Летописи/2011}}
  
=== Ветераны - узлы, которые были активны в последующем ===
+
== История Летописи/2012 ==
  
; Сколько в 2007 году было ветеранов? - тех, кто уже работал в 2006 году?
+
{{:История Летописи/2012}}
: length(intersect(users2007,users2006))
+
  
== Превращение данных в сеть ==
+
== История Летописи/2013 ==
  
В конкретном примере на данных 2006 года
+
{{:История Летописи/2013}}
  
 +
== История Летописи/2014 ==
  
* lt2 <- data.frame(User = paste("U",lhist.sub[,2],sep=":" ) , Page = paste("P",lhist.sub[,5],sep=":") ) # Оставили только участников и страницы. На всякий случай добавили к цифрам буковки U: - user и P: - страница, чтобы проще идентифицировать на графе.
+
{{:История Летописи/2014}}
* lt2.network <- graph.data.frame(lt2,directed=T) # использовали пакет igraph и получили сеть
+
* lt2.network <- simplify(lt2.network) # упростили сеть - убрали множественные связи между участниками и страницами
+
* V(lt2.network)$color <-ifelse (substring(V(lt2.network)$name, 1, 1) == "U",'red','blue') # - участники выделены красным цветом - страницы - синим
+
* V(lt.network)$shape <-ifelse (substring(V(ubi2.network)$name, 1, 1) == "U",'circle','square') # участники - круг, страница - квадрат
+
  
=== Одноразовые узлы ===
+
== История Летописи/2015 ==
  
Это узлы, связанные с сетью только одной связью
+
{{:История Летописи/2015}}
* poor.vs<-V(lt2.network)[degree(lt2.network)<2] = 3160
+
  
; Одноразовые участники - участники, которые совершили только одно действие
 
: length(grep(pattern = "U:", as_ids(poor.vs), value = TRUE)) ;  = 250 участников с одноразовым действием
 
; Одноразовые страницы - страницы, в отношении которых было совершено только одно действие (это страницы, которые были созданы, но больше они никогда не изменялись)
 
: length(grep(pattern = "P:", as_ids(poor.vs), value = TRUE)) ; = 2910 страниц - созданных, но не измененных
 
 
=== Объединение связей ===
 
 
Уберем множественные связи между узлами. (До этого хорошо бы понять - а можем ли мы посчитать распределение всех узлов по degree?)
 
 
lt2s.network <- simplify(lt2.network , remove.multiple = T, remove.loops = T,  edge.attr.comb=c(weight="sum", type="ignore") ) ;
 
* length(V(lt2s.network)) = 7688 (как и прежде)
 
* length(E(lt2s.network)) = 10175 - заметно сократилось число узлов
 
 
poors.vs<-V(lt2s.network)[degree(lt2s.network)<2] - мы опять выделяем узлы, каждый из которых связан только с одним узлом
 
 
length(poors.vs) = 4951 - всего узлов с одной связью
 
 
length(grep(pattern = "U:", as_ids(poors.vs), value = TRUE)) -  482- участников, которые связаны только с одной страницей
 
 
length(grep(pattern = "P:", as_ids(poors.vs), value = TRUE)) - 4469 - страницы, которые связаны только с одним участником
 
 
 
* graph.density(lt2s.network) 0.0003443453
 
* clusters(lt2s.network)$no 136
 
* diameter(lt2s.network) 12
 
* transitivity(lt2s.network, type="global") 0
 
* centralization.betweenness (lt2s.network) 0.3379552
 
 
==== Отдельно получить перечень участников и страниц ====
 
 
* usersg <- V(lt2.network)[V(lt2.network)$color == 'red']
 
* pages  <- V(lt2.network)[V(lt2.network)$color == 'blue']
 
 
Отдельно посчитали авторов и страницы
 
 
# Inspect the data:
 
 
V(lt2.network) #prints the list of vertices (people) - перечень узлов
 
E(lt2.network) # - перечень
 
degree(bsk.network) #print the number of edges per vertex (relationships per people)
 
 
 
 
 
gs <-delete.vertices(lt2s.network, poors.vs) # удалили узлы с единичной связью
 
 
 
и уже этот обработанный граф отправили на визуализацию в [[VOSviewer]]
 
 
==== Lin/Lon Modularity ====
 
 
[[Файл:Lthist01vw.png]]
 
 
==== Association strength ====
 
 
[[Файл:Lthist02vw.png]]
 
 
 
[[Файл:Lthist02vw.png|400px|]]
 
 
==== Фрагмент карты ====
 
[[Файл:Lthist03vw.png]]
 
 
 
 
----
 
См.
 
# [[История Летописи/Иллюстрации]]
 
# [[История образовательной Галактики]]
 
 
Сравнение отдельных проектов Летописи в R - [[ВикиграммаR]]
 
 
 
----
 
 
[[Категория:Социальная сеть]]
 
 
[[Категория:Учебная аналитика]]
 
[[Категория:Учебная аналитика]]
[[Категория:R]]
 

Текущая версия на 20:18, 30 января 2017

На этой странице история создания и правок страниц Летописи будет представлена как карта или как граф. В качестве макроскопов использованы R, igraph и VOSviewer

История Летописи/Процедура превращения журнала в карту

Не забыть извиниться - вклад и связи некоторых участников не показаны. Так, Участница:Тимохина Евгения не показана на картах, потому что вклад велик и связи ее слишком обширны.

Содержание

[править] История Летописи/2006

Карта связей и альянсов между участниками в 2006 году

User2006 1.png

[править] История Летописи/2007

Карта связей и альянсов между участниками в 2007 году

User2007.png

[править] История Летописи/2008

Карта связей и альянсов между участниками в 2008 году

User2008.png

[править] История Летописи/2009

Карта связей и альянсов между участниками в 2009 году

User2009.png

[править] История Летописи/2010

Карта связей и альянсов между участниками в 2010 году

User2010.png

[править] История Летописи/2011

Карта связей и альянсов между участниками в 2006 году

User2011.png

[править] История Летописи/2012

Карта связей и альянсов между участниками в 2012 году

User2012.png

[править] История Летописи/2013

Карта связей и альянсов между участниками в 2013 году

User2013.png

[править] История Летописи/2014

Карта связей и альянсов между участниками в 2014 году

User2014.png

[править] История Летописи/2015

Карта связей и альянсов между участниками в 2015 году

User2015.png

Персональные инструменты
Инструменты