Обсуждение:Reseach based on Special:Log/NetLogo
Данные из термитника
- termh <- read.csv(file.choose(),sep=",", as.is=T, header=T) ;
- lterm <- data.frame(Source = paste("U",termh[,1],sep=":" ) , Target = paste("P",termh[,2],sep=":") )
term.network <- graph.data.frame(lterm,directed=T) ;
Что мы знаем об этой сети?
summary(term.network)
- IGRAPH DN-- 8709 32308 -- направленная, 8709 узлов, 32308 связей
V(term.network)$type <- V(term.network)$name %in% lterm[,1]
- ??? просто разные варианты превращения в бипартит сеть
V(term.network)$type <- bipartite.mapping(term.network)$type
Общая информация о сети
- length(V(term.network)) # узлов
- length(E(term.network)) # links
- length(V(term.network)[V(term.network)$type == 0]) # users
- length(V(term.network)[V(term.network)$type == 1]) # pages
(V(term.network)[V(term.network)$type == 0]) # Перечень всех авторов (V(term.network)[V(term.network)$type == 1]) # Перечень всех страниц
- Отсортировали узлы по числу связей
sorted_by_degrees <- sort(degree(lt06.network), decreasing=TRUE)
write.csv(sorted_by_degrees, file="lto6soterd.csv", row.names=TRUE) ;
sorted_by_betw <- sort(betweenness(lt06.network), decreasing=TRUE) sorted_by_betw[1:50]
cl_lt06 <-clusters(lt06.network) # это первый заход на кластеры sorted_by_rank <- sort(page.rank(lt06.network)$vector, decreasing=TRUE) sorted_by_rank[1:50]
eb_com06 <- edge.betweenness.community(lt06.network)
is.connected(term.network)
max(degree(term.network, mode="in")) max(degree(term.network, mode="in" )[V(term.network)$type == 1]) head(max(degree(term.network, mode="out")))
head(sort(degree(term.network, mode="out")))
head(sort(betweenness(term.network),decreasing = TRUE)) ;
- Clasters
- График распределения
hist(degree.distribution(term.network,mode="in"))
plot(degree.distribution(term.network, mode="out"), log="xy") plot(degree.distribution(term.network, mode="out")) vcount(term.network)
centralization.betweenness (term.network, directed = FALSE, nobigint = TRUE, normalized = TRUE)
term.network <- simplify(term.network , remove.multiple = T, remove.loops = T, edge.attr.comb=c(weight="sum") ) ;
- Ассоциограмму соханил бы!
edgeterm <- as_data_frame(term.network) ;
write.csv(edgeterm , file="edgeterm.csv", row.names=FALSE) ;
term_poor_pages <- V(term.network)[V(term.network)$type == 0 & degree(term.network)<2 ]
- # удалили pages c 1 связью и авторов без связей
termr.network <- delete.vertices(term.network, term_poor_pages) termr.network <- delete.vertices(termr.network, V(termr.network)[degree(termr.network) == 0])
- users
termr.network_users <- bipartite.projection(termr.network)$proj2
graph.density(termr.network_users)
clusters(termr.network_users)$no
diameter(termr.network_users)
transitivity(termr.network_users, type="global") ;
centralization.betweenness(termr.network_users) ;
usersterm <- as_data_frame(termr.network_users) ;
write.csv(usersterm, file="users_term.csv", row.names=FALSE) ;