library(Rcoclust);
#load data
data(data_cstr);
envrdata=get_envrdata(A_ijx,lbs,name,0);
#retrieve matrix size and number of classes
n=envrdata$n;
d=envrdata$d;
g=length(unique(envrdata$lbs));
#random projection
dimr = min(500,envrdata$d); #reduced dimension
sgr = 1; #std for projection
vect_Ar = rep(0,n*dimr); #reduced matrix in vector form
Rcoclust::randp(envrdata,dimr,sgr,vect_Ar,3,0);
Ar=matrix(vect_Ar,nrow=n,byrow = TRUE);
#kmeans+random projection
km=kmeans(Ar,g);
table(km$cluster,envrdata$lbs);
Run the code above in your browser using DataLab