R/fruchterman_reingold.R

Defines functions fruchterman_reingold

Documented in fruchterman_reingold

fruchterman_reingold<-function(net, D=2, steps=1000, repulserad=N^D, m=N*(D-1), volume=N*(D-1))
{
  directed<-is.directed(net)
  N<-network.size(net)
  Y<-as.sociomatrix(net)
  X<-matrix(runif(N*D,-D^2,D^2),ncol=D)
  # update X
  out<-.C(C_fruchterman_reingold, NAOK=TRUE, directed=as.integer(directed), N=as.integer(N), 
	  D=as.integer(D), steps=as.integer(steps), Y=as.double(t(Y)), X=as.numeric(t(X)), 
	  repulserad=as.double(repulserad), m=as.numeric(m), volume=as.numeric(volume))
  X<-t(matrix(out$X,ncol=N))
  # centre
  X <- X - t(matrix(rep(apply(X,2,mean),N),nrow=D))
  # scale to lie in -5 to 5
  #X<-t(t(X)/apply(X,2,sd)*5)
  return (X)
}

Try the VBLPCM package in your browser

Any scripts or data that you put into this service are public.

VBLPCM documentation built on March 31, 2023, 9:21 p.m.