R/PolarSwarm.R

Defines functions PolarSwarm

Documented in PolarSwarm

PolarSwarm=function(DataOrDistances,method='euclidean',PlotIt=FALSE,Cls){
  
  if(missing(DataOrDistances))
    stop('No DataOrDistances given')
  DataOrDistances;
  if(!is.matrix(DataOrDistances))
    stop('DataOrDistances has to be a matrix, maybe use as.matrix()')
  
  
  if (!requireNamespace('DatabionicSwarm')) {
    message(
      'Subordinate projection package is missing. No computations are performed.
            Please install the package which is defined in "Suggests".'
    )
    return(
      list(
        Cls = rep(1, nrow(DataOrDistances)),
        Object = "Subordinate projection package is missing.
                Please install the package which is defined in 'Suggests'."
      )
    )
  }
  
  ModelObject=DatabionicSwarm::Pswarm(DataOrDistances,method = method)
  
  ProjectedPoints=ModelObject$ProjectedPoints
  if(PlotIt){
    if(missing(Cls)){
      AnzData=nrow(DataOrDistances)
      Cls=rep(1,AnzData)
    }  
    PlotProjectedPoints(ProjectedPoints,Cls,main="Polar Swarm Projection of the DBS algorithm")
  } 
  return(list(ProjectedPoints=ProjectedPoints,ModelObject=ModelObject))
}

Try the ProjectionBasedClustering package in your browser

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

ProjectionBasedClustering documentation built on Oct. 12, 2023, 1:07 a.m.