centroide = function (X, col.especimes) { M = X[,sapply(X,is.numeric)] cent=apply(M,2,mean) cent p<-dim(M)[1] size<-sqrt(sum(apply(M,2,var))*(p-1)) cent.size=list("centroid_size"=size,"scaled"=M/size) cent.size especime_x<-tapply(x,col.especimes,mean) especime_y<-tapply(y,col.especimes,mean) especime_z<-tapply(z,col.especimes,mean) cent.esp<-rbind(especime_x,especime_y,especime_z) cent.esp return(list(cent, cent.size, cent.esp)) }