# transforming CSV files to Pajek files # by Vladimir Batagelj, June 2016 setwd("C:/Users/batagelj/work/Python/graph/SVG/EUSN") colC <- c(rep("character",4),rep("numeric",7)); nas=c("","NA","NaN") nodes <- read.csv2("bibNodes.csv",encoding='UTF-8',colClasses=colC,na.strings=nas) n <- nrow(nodes); M <- factor(nodes$mode); S <- factor(nodes$sex) mod <- levels(M); sx <- levels(S); S <- as.numeric(S); S[is.na(S)] <- 0 links <- read.csv2("bibLinks.csv",encoding='UTF-8',colClasses="character") F <- factor(links$from,levels=nodes$name,ordered=TRUE) T <- factor(links$to,levels=nodes$name,ordered=TRUE) R <- factor(links$relation); rel <- levels(R) net <- file("bib.net","w"); cat('*vertices ',n,'\n',file=net) clu <- file("bibMode.clu","w"); sex <- file("bibSex.clu","w") cat('%',file=clu); cat('%',file=sex) for(i in 1:length(mod)) cat(' ',i,mod[i],file=clu) cat('\n*vertices ',n,'\n',file=clu) for(i in 1:length(sx)) cat(' ',i,sx[i],file=sex) cat('\n*vertices ',n,'\n',file=sex) for(v in 1:n) { cat(v,' "',nodes$name[v],'"\n',sep='',file=net); cat(M[v],'\n',file=clu); cat(S[v],'\n',file=sex) } for(r in 1:length(rel)) cat('*arcs :',r,' "',rel[r],'"\n',sep='',file=net) cat('*arcs\n',file=net) for(a in 1:nrow(links)) cat(R[a],': ',F[a],' ',T[a],' 1 l "',rel[R[a]],'"\n',sep='',file=net) close(net); close(clu); close(sex)