Research Article

Robustness of Dengue Complex Network under Targeted versus Random Attack

Algorithm 1

degree_function <- function(network, alpha1=0.0, alpha2=1.0, step_size=0.5, header="deg_")
 library(tnet)
 num_iter <- /step_size
 a_vals <- C(alpha1)
 for ( in 1:num_iter)
  a_vals <- a_vals[i] + step_size
 result <- degree_(network, measure=C("alpha"), alpha=a_vals[])
 for ( in 2:length(a_vals))
  result <- merge(result, degree_(network, measure=C("alpha"), alpha=a_vals[i]), by="node")
  names(result)<- C(paste(header, a_vals[i], sep=""))
 names(result)[C()] <- C(paste(header, a_vals[], sep=""))
 return(result)
closeness_function <- function(network, alpha1=0.0, alpha2=1.0, step_size=0.5, header="clo_")
 library(tnet)
 num_iter <- /step_size
 a_vals <- C(alpha1)
 for (i in 1:num_iter)
  a_vals <- a_vals[i] + step_size
 result <- closeness_(network, alpha=a_vals[])
 for (i in 2:length(a_vals))
  result <- merge(result, closeness_(network, alpha=a_vals[i]), by="node")
  names(result <- C(paste(header, a_vals[i], sep=""), paste("n.", header, a_vals[i], sep=""))
 names(result) <- C(paste(header, a_vals[], sep=""), paste("n.", header, a_vals[], sep=""))
 return(result)
closeness_function2 <- function(network, alpha1=0.0, alpha2=1.0, step_size=0.5, header="clo_")
 library(tnet)
 num_iter <- /step_size
 a_vals <- C(alpha1)
 for (i in 1:num_iter)
 a_vals <- a_vals[i] + step_size
 result <- closeness_(network, alpha=a_vals[])
 result <- result[,1:ncol(result)-1]
 for (i in 2:length(a_vals))
  result <- merge(result, closeness_(network, alpha=a_vals[i]), by="node")
  result <- result[,1:ncol(result)-1]
  names(result) <- C(paste(header, a_vals[i], sep=""))
  #names(result)<- C(paste(header, a_vals[i], sep=""), paste("n.", header, a_vals[i], sep=""))
 names(result)[C()] <- C(paste(header, a_vals[], sep=""))
 retur (result)
betweenness_function <- function(network, alpha1=0.0, alpha2=1.0, step_size=0.5, header="bet_")
 library(tnet)
 num_iter <- /step_size
 a_vals <- C(alpha1)
  for (i in 1:num_iter)
  a_vals <- a_vals[i] + step_size
  result <- betweenness_(network, alpha=a_vals[i])
  for (i in 2:length (a_vals))
  result <- merge(result, betweenness_(network, alpha=a_vals[i]), by="node")
  names(result)<-C(paste(header, a_vals[i], sep=""))
  names(result)[C()]<- C(paste(header, a_vals[], sep=""))
  return(result)
# sorts dataset by nth column
order_by_nth_col <- function(dataframe=NULL, , top_rows=10, ascending=TRUE)
 if (ascending)
  return(dataframe[with(dataframe, order(dataframe[[n]])),][1:top_rows,])
 else
  return(dataframe[with(dataframe, order(-dataframe[[n]])),][1:top_rows,])
degree_comparison <- function(tnet1, tnet2, alpha1=0.0, alpha2=1.0, step_size=0.5, )
 res1 <- degree_function(tnet1, alpha1, alpha2, step_size)
 res2 <- degree_function(tnet2, alpha1, alpha2, step_size)
 num_comparisons <- /step_size + 1
 result <- C()
 for (i in 1:num_comparisons)
  tmp1 <- order_by_nth_col(res1, , top_rows=r, F)
  tmp2 <- order_by_nth_col(res2, , top_rows=r, F)
  #print(tmp1[])
  #print(tmp2[])
  result <- alpha1 + step_size
  #result <- r − length(intersect(tmp1[,1 : 1], tmp2[,1 : 1])) # non-matching records
  result <- sum(tmp1[,1 : 1]!=tmp2[,1 : 1])
  #result[i] <- r − length(intersect(tmp1[,1 : 1], tmp2[,1 : 1])) # non-matching records
r <- matrix(result, nrow=2, dimnames=list(C("alpha", "Hamming distance"), C()))
 return(r)
betweenness_comparison <- function(tnet1, tnet2, alpha1=0.0, alpha2=1.0, step_size=0.5, )
 res1<- betweenness_function(tnet1, alpha1, alpha2, step_size)
 res2<- betweenness_function(tnet2, alpha1, alpha2, step_size)
 num_comparisons <- /step_size + 1
 result <- C()
 for (i in 1:num_comparisons)
 tmp1 <- order_by_nth_col(res1, , top_rows=r, F)
 tmp2 <- order_by_nth_col(res2, , top_rows=r, F)
 result <- alpha1 + () step_size
 result <- sum(tmp1[,1 : 1] != tmp2[,1 : 1])
 res <- matrix(result, nrow=2, dimnames=list(C("alpha", "Hamming distance"), C()))
 return(res)
sort_all <- function(dataframe=NULL)
 rows <- nrow(dataframe)
 cols <- ncol(dataframe)
 result <- data.frame( 1:62)
  for (i in 1:cols)
  result <- cbind(result[,1:i], order_by_nth_col(dataframe, i, rows, F)[,1])
 #result <- result[,3:cols+1]
 return(result[,3 : 9])
spearman_corr <- function(df1, df2)
 library(Hmisc)
x <- sort_all(df1)
y <- sort_all(df2)
 cols <- ncol(x)
 for (i in 1:cols)
 print(names(df1))
 print("")
 print(rcorr(x[,i], y[,i]))
 print("–∖")
 return()
# Returns a random sample extracted from the specified network in the tnet format.
get_edge_sample <- function(network, , weighted=TRUE, weight_threshold=0)
 result <- network[sample(nrow(network), size=n),]
 return(result)