k.neighbor2Net <-
# stores network of first k neighbors for
# dissimilarity matrix d to file fnet in Pajek format.
function(fnet,d,k){
net <- file(fnet,"w")
n <- nrow(d); rn <- rownames(d)
cat("*vertices",n,"\n",file=net)
for (i in 1:n) cat(i," \"",rn[i],"\"\n",sep="",file=net)
cat("*arcs\n",file=net)
for (i in 1:n) for (j in order(d[i,])[1:k+1]) {
cat(i,j,d[i,j],"\n",file=net)
}
close(net)
}
data(iris)
ir <- scale(iris)
rownames(ir) <- paste(substr(iris[,5],1,2),1:nrow(iris),sep="")
k.neighbor2Net("iris5.net",as.matrix(dist(ir)),5)
Rnet