#CLUSTERING INDIVIDUALS ACCORDING TO THEIR SHAPE:
landmarksNoNa <- na.exclude(landmarksSampleSpaSurv)
dim(landmarksNoNa)
#[1] 574 198
numLandmarks <- (dim(landmarksNoNa)[2]) / 3
#[1] 66
#In the interests of simplicity of the computation involved:
landmarksNoNa_First50 <- landmarksNoNa[1 : 50, ]
(numIndiv <- dim(landmarksNoNa_First50)[1])
#[1] 50
array3D <- array3Dlandm(numLandmarks, numIndiv, landmarksNoNa_First50)
numClust <- 3 ; alpha <- 0.01 ; algSteps <- 5 ; niter <- 5 ; stopCr <- 0.0001
set.seed(2013)
res <- trimmedLloydShapes(array3D,numIndiv,alpha,numClust,algSteps,niter,stopCr,TRUE)
#Optimal partition and prototypes:
clust <- res$asig
table(clust)
prototypes <- anthrCases("anthropometry", "kmeansProcrustes", res)
#Trimmed individuals:
trimmed <- trimmOutl("kmeansProcrustes", res)
Run the code above in your browser using DataLab