install.packages("statnet") library(statnet) #read csv data <- read.csv("D:\\Users\\z3377013\\Desktop\\networknew1.csv",header=TRUE) #companies <- unique(data$CompanyID_) #years <- unique(data$Year) pairs <- unique(data[,c(1,3)]) #directors <- unique(c(data$DirectorID_,data$DirectorID_Connected)) #director_map <- 1:length(directors) #names(director_map) <- c(as.character(directors)) #for (i in 1:nrow(data)) { # data[i,2] = director_map[as.character(data[i,2])] # data[i,4] = director_map[as.character(data[i,4])] #} sink("D:\\Users\\z3377013\\Desktop\\measure1.csv") for (i in 1:nrow(pairs)) { d <- subset(data, CompanyID_==pairs[i,1]&Year==pairs[i,2]) directors <- unique(c(d$DirectorID_,d$DirectorID_Connected)) director_map <- 1:length(directors) names(director_map) <- c(as.character(directors)) for (j in 1:nrow(d)) { d[j,2] = director_map[as.character(d[j,2])] d[j,4] = director_map[as.character(d[j,4])] } net<-network(d[,c(2,4)],directed=F,loops=F,matrix.type="edgelist") degree <- degree(net, cmode="freeman", gmode="graph") closeness <- closeness(net,gmode="graph",cmode="undirected") betweenness <- betweenness(net,gmode="graph",cmode="undirected") evcent <- evcent(net,gmode="graph",use.eigen=TRUE) write.csv(cbind(pairs[i,], directors, degree, closeness, betweenness, evcent), row.names=FALSE) } sink()