## example with annulus data set
data(annulus)
par(mfrow=c(2,1))
plot(annulus,main="Annulus Data",pch=20,cex=.7)
D = dist(annulus) # use Euclidean distance
dmap = diffuse(D,0.03) # compute diffusion map
k=2 # number of clusters
dkmeans = diffusionKmeans(dmap, k,Niter=25)
plot(annulus,main="Colored by diffusion K-means clustering",pch=20,
cex=.7,col=dkmeans$part)
## example with Chainlink data set
data(Chainlink)
lab.col = c(rep("red",500),rep("blue",500)); n=1000
scatterplot3d(Chainlink$C1,Chainlink$C2,Chainlink$C3,color=lab.col,
main="Chainlink Data") # plot Chainlink data
D = dist(Chainlink) # use Euclidean distance
dmap = diffuse(D,neigen=3) # compute diffusion map & plot
plot(dmap)
print(dmap)
dkmeans = diffusionKmeans(dmap, K=2, Niter=25)
col.dkmeans=ifelse(dkmeans$part==1,"red","blue")
scatterplot3d(Chainlink$C1,Chainlink$C2,Chainlink$C3,color=col.dkmeans,
main="Chainlink Data, colored by diffusion K-means classification")Run the code above in your browser using DataLab