Dear R-help,

My name is Jenny Jiang and I am a Finance Honours research
 student from the University of New South Wales Australia. Currently my 
research project involves the calculating of some network centrality 
measures in R, which are degree, closeness, betweenness and eigenvector. 
However I am having some issue regarding to the calculation of 
the weighted centrality measures by network size. For example, currently
 my code allows me to calculate centrality measures for each firm year, 
and now I would like to calculate centrality measures weighted by the 
firm network size for each firm year. 

My current code is like the following:

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()

And an example of my data structure is like the following:

CompanyID_    DirectorID_    Year    DirectorID_Connected
900    3700068021    2003    3699838021
900    3700418032    2003    3699838021
900    3700598032    2003    3699838021
900    3700898032    2003    3699838021
900    3703478063    2003    3699838021
900    3703628063    2003    3699838021
900    3703838063    2003    3699838021
900    3703998063    2003    3699838021
900    3699838021    2003    3700068021
900    3700418032    2003    3700068021
900    3700598032    2003    3700068021
900    3700898032    2003    3700068021
900    3703478063    2003    3700068021
900    3703628063    2003    3700068021
900    3703838063    2003    3700068021
900    3703998063    2003    3700068021
900    3699838021    2003    3700418032
900    3700068021    2003    3700418032
900    3700598032    2003    3700418032
900    3700068021    2004    3699838021
900    3700418032    2004    3699838021
900    3700598032    2004    3699838021
900    3700898032    2004    3699838021
900    3703478063    2004    3699838021
1290    1604538114    2003    427207466
1290    3556906472    2003    427207466
1290    3701108032    2003    427207466
1290    3708458104    2003    427207466
1290    3708478104    2003    427207466
1290    3711248135    2003    427207466
1290    10167110612    2003    427207466
1290    10271811383    2003    427207466

where for each firm-year I have a list of directors and their corresponding 
connected directors within that firm-year.

If you could 
provide me the R code regarding to how to calculate the weighted measures by 
network size that that would be really 
helpful.

I cannot be more than appreciated.

Best regards

Jenny

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to