2014-10-05 2 views
0

Мои исходные данные:Объединить членства и CSIZE кластеров в R

library(igraph) 
From <- c(1,2,3,4,5,6,7,8) 
To <- c(NA,1,2,3,2,NA,6,7) 
Value<- c(1,0,0.5,0.5,0,-1,-1,-0.5) 
Data <- data.frame(From,To, Value) 
Network <- graph.data.frame(Data[,c("From","To")]) 
Network<- Network - "NA" 
plot(Network) 

Я хочу знать размер кластера, которому они принадлежат. Я хочу объединить две функции clusters() $ membership и clusters() $ csize, но я понятия не имею, как я мог. Я хочу иметь собственный размер кластера в каждой строке.

Clusterx<-clusters(Network)$membership 
ClusterSize<-clusters(Network)$csize 

Пример возможных окончательных данных:

From <- c(1,2,3,4,5,6,7,8) 
To <- c(NA,1,2,3,2,NA,6,7) 
Value<- c(1,0,0.5,0.5,0,-1,-1,-0.5) 
Csize<- c(5,5,5,5,5,3,3,3) 
Data <- data.frame(From,To, Value,Csize) 

ответ

2

Это простая операция индексации.

clu <- clusters(Network) 
clu$csize[ clu$membership ] 
# [1] 5 5 5 5 5 3 3 3 
Смежные вопросы