setwd("./data/clustering/") # Nastavení pracovního adresáře (relativní k rootu) library(cluster) input <- read.csv(file = 'input_modified.csv') # Načtení CSV souboru #head(input) # Výpis prvních šesti řádek CSV souboru mydata <- input[, -1, drop=F] # Zahození prvního sloupce dat (NUTS_ID). Při 2-sloupcové tabulce nesmí redukovat dimenzi na vektor, proto drop=F rownames(mydata) <- input[, 1] # První sloupec dat jako název řádek mydata <- scale(mydata) # Standardizace dat km25 <- kmeans(mydata, 12, nstart=25) # 12 cluster solution, nstart = počet náhodných počátečních přiřazení, optimální je hodnota 25-50 km50hw <- kmeans(mydata, 12, nstart=50) # 12 cluster solution, nstart = počet náhodných počátečních přiřazení, optimální je hodnota 25-50 km50l <- kmeans(mydata, 12, nstart=50, algorithm=c("Lloyd")) km50m <- kmeans(mydata, 12, nstart=50, algorithm=c("MacQueen")) kme_eu <- pam(mydata,12,diss=FALSE,metric=c("euclidean")) kme_mn <- pam(mydata,12,diss=FALSE,metric=c("manhattan")) d <- dist(mydata, method = "euclidean") # distance matrix dmin <- dist(mydata, method = "minkowski") dbin <- dist(mydata, method = "binary") dmax <- dist(mydata, method = "maximum") dcan <- dist(mydata, method = "canberra") dman <- dist(mydata, method = "manhattan") fit <- hclust(d) fitmin <- hclust(dmin) fitbin <- hclust(dbin) fitmax <- hclust(dmax) fitcan <- hclust(dcan) fitman <- hclust(dman) fitwd2 <- hclust(d,method="ward.D2") fitcom <- hclust(d,method="complete") fitsin <- hclust(d,method="single") fitcen <- hclust(d,method="centroid") fitmed <- hclust(d,method="median") fitmcq <- hclust(d,method="mcquitty") haclust <- cutree(fit, k=12) haclustmin <- cutree(fitmin, k=12) haclustbin <- cutree(fitbin, k=12) haclustmax <- cutree(fitmax, k=12) haclustcan <- cutree(fitcan, k=12) haclustman <- cutree(fitman, k=12) haclustwd2 <- cutree(fitwd2, k=12) haclustcom <- cutree(fitcom, k=12) haclustsin <- cutree(fitsin, k=12) haclustcen <- cutree(fitcen, k=12) haclustmed <- cutree(fitmed, k=12) haclustmcq <- cutree(fitmcq, k=12) fit <- diana(d) hdclust <- cutree(fit, k=12) #aggregate(mydata,by=list(km25$cluster),FUN=mean) # get cluster means outdata <- data.frame(km25$cluster, km50hw$cluster, km50l$cluster, km50m$cluster,kme_eu$cluster,kme_mn$cluster, haclust, haclustmin, haclustbin, haclustman, haclustmax, haclustcan, haclustwd2, haclustcom, haclustsin, haclustcen, haclustmed, haclustmcq, hdclust) # append cluster assignment #library(useful) #plot(fit, data=mydata) # vykreslení grafu write.csv(outdata,'out_file.csv') # zápis do souboru