podatki <- read.table("/cloud/project/Poglavje 6/Zgled/Segmentacija.csv", header=TRUE, sep=";", dec="," )
head(podatki)
##   ID X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18
## 1  1  2  0  0  0  1 10  4  7  6   5   5   7   7   5   4   5   5   8
## 2  2  3  0  0  0  1 10  3  7  7   3   8   8   5   6   4   4   4   8
## 3  3  3  0  1  0  1  9  3  6  6   5   7   8   5   6   2   5   4   8
## 4  4  1  1  1  1  0  7  3  4  4   5   5   5   9   7   5   4   4   1
## 5  5  2  0  0  0  1  9  3  6  5   2   6   7   7   6   2   5   4   8
## 6  6  1  0  1  1  1  8  3  2  4   4   4   5   9   5  10   4   5   2
##   X19 X20
## 1   8  10
## 2   9  10
## 3   9   8
## 4   4   4
## 5  10   7
## 6   5   5

Opis spremenljivk:

podatki$PoslovanjeF <- factor(podatki$X1, 
                              levels = c(1, 2, 3), 
                              labels = c("< 1 leto", "1-5 let", "> 5 let"))

podatki$TipF <- factor(podatki$X2,
                       levels = c(0, 1),
                       labels = c("Gostinec", "Trgovec"))

podatki$VelikostF <- factor(podatki$X3, 
                            levels = c(0, 1), 
                            labels = c("Do 10 zaposlenih", "Nad 10 zaposlenih"))

podatki$DržavaF <- factor(podatki$X4, 
                          levels = c(0, 1), 
                          labels = c("Slo", "EU"))

podatki$NačinF <- factor(podatki$X5, 
                          levels = c(0, 1), 
                          labels = c("Preko posrednika", "Direktno"))
summary(podatki[c("X6", "X8", "X12", "X15", "X17", "X18")]) #Opišemo razvrstitvene spremenljivke
##        X6               X8              X12              X15       
##  Min.   : 1.000   Min.   : 1.000   Min.   : 1.000   Min.   : 1.00  
##  1st Qu.: 6.000   1st Qu.: 2.000   1st Qu.: 5.000   1st Qu.: 3.00  
##  Median : 8.000   Median : 6.000   Median : 6.000   Median : 5.00  
##  Mean   : 7.093   Mean   : 5.265   Mean   : 6.065   Mean   : 5.43  
##  3rd Qu.: 9.000   3rd Qu.: 8.000   3rd Qu.: 8.000   3rd Qu.: 7.00  
##  Max.   :10.000   Max.   :10.000   Max.   :10.000   Max.   :10.00  
##       X17              X18        
##  Min.   : 1.000   Min.   : 1.000  
##  1st Qu.: 4.000   1st Qu.: 2.000  
##  Median : 6.000   Median : 8.000  
##  Mean   : 5.619   Mean   : 5.955  
##  3rd Qu.: 7.000   3rd Qu.: 9.000  
##  Max.   :10.000   Max.   :10.000
podatki_clu_std <- as.data.frame(scale(podatki[c("X6", "X8", "X12", "X15", "X17", "X18")])) #Razvrstitvene spremenljivke standardiziramo in shranimo kot tabelo s podatki
podatki$Različnost = sqrt(podatki_clu_std$X6^2 + podatki_clu_std$X8^2 + podatki_clu_std$X12^2 + podatki_clu_std$X15^2 + podatki_clu_std$X17^2 + podatki_clu_std$X18^2) #Za določanje osamelcev izračunamo evklidsko razdaljo med objektom in povprečjem po vseh razvrstitvenih spremenljivkah
head(podatki[order(-podatki$Različnost), c("ID", "Različnost")], 10) #Prikažemo 10 objektov z največjo vrednostjo spremenljivke Različnost
##      ID Različnost
## 40   40   4.979606
## 237 237   4.134720
## 287 287   4.134720
## 184 184   4.125212
## 161 161   4.020147
## 139 139   3.979988
## 225 225   3.900304
## 152 152   3.873602
## 113 113   3.856354
## 162 162   3.856354
print(podatki[40, ]) #Prikažemo odgovore ID40
##    ID X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18
## 40 40  2  1  0  0  1  1  1  1  1   1   1   1   1   1   1   1   1   1
##    X19 X20 PoslovanjeF    TipF        VelikostF DržavaF   NačinF
## 40   1   1     1-5 let Trgovec Do 10 zaposlenih     Slo Direktno
##    Različnost
## 40   4.979606
podatki <- podatki[-40, ] #Odstranimo ID40 iz osnovne tabele s podatki
podatki_clu_std <- as.data.frame(scale(podatki[c("X6", "X8", "X12", "X15", "X17", "X18")])) #Spremenljivke ponovno standardiziramo
library(factoextra) #Aktiviramo knjižnico
#Izračunamo evklidske razdalje na podlagi 6 razvrstitvenih spremenljivk in jih shranimo v objekt Razdalje (matrika razdalj)
Razdalje <- get_dist(podatki_clu_std, 
                     method = "euclidian")

fviz_dist(Razdalje, #Prikažemo matriko razdalj
          gradient = list(low = "black", #Določimo barve grafikona, da je bolje viden v črno-belem tisku
                          mid = "gray", 
                          high = "white")) 

library(factoextra) #Aktiviramo knjižnico
get_clust_tendency(podatki_clu_std, #Izračunamo Hopkinsovo statistiko
                   n = nrow(podatki_clu_std) - 1,
                   graph = FALSE) #Grafikon smo že prikazali
## $hopkins_stat
## [1] 0.7470129
## 
## $plot
## NULL
library(dplyr) #Aktiviramo knjižnico, ki omogoča uporabo zapisa funkcije z oznako %>% (pipe)
WARD <- podatki_clu_std %>% #Izberemo spremenljivke
  get_dist(method = "euclidean") %>%  #Izberemo razdaljo
  hclust(method = "ward.D2") #Izberemo algoritem          

WARD
## 
## Call:
## hclust(d = ., method = "ward.D2")
## 
## Cluster method   : ward.D2 
## Distance         : euclidean 
## Number of objects: 290
library(factoextra)
fviz_dend(WARD) #Prikažemo dendrogram
## Warning: `guides(<scale> = FALSE)` is deprecated. Please use
## `guides(<scale> = "none")` instead.

fviz_dend(WARD, 
          k = 2, #Število skupin
          palette = "Set1", #Barve grafikona
          rect = TRUE) #Obkrožimo objekte v isti skupini
## Warning: `guides(<scale> = FALSE)` is deprecated. Please use
## `guides(<scale> = "none")` instead.
## Warning in data.frame(xmin = unlist(xleft), ymin = unlist(ybottom),
## xmax = unlist(xright), : row names were found from a short variable
## and have been discarded

fviz_dend(WARD, 
          k = 3,
          palette = "Set1",
          rect = TRUE)
## Warning: `guides(<scale> = FALSE)` is deprecated. Please use
## `guides(<scale> = "none")` instead.

fviz_dend(WARD, 
          k = 4,
          palette = "Set1",
          rect = TRUE)
## Warning: `guides(<scale> = FALSE)` is deprecated. Please use
## `guides(<scale> = "none")` instead.

fviz_dend(WARD, 
          k = 5,
          palette = "Set1",
          rect = TRUE)
## Warning: `guides(<scale> = FALSE)` is deprecated. Please use
## `guides(<scale> = "none")` instead.

fviz_dend(WARD, 
          k = 6,
          palette = "Dark2",
          rect = TRUE, rect_fill = TRUE,
          rect_border = "Dark2")
## Warning: `guides(<scale> = FALSE)` is deprecated. Please use
## `guides(<scale> = "none")` instead.

# Izračunamo indekse, s katerimi si lahko pomagamo pri določanju optimalnega števila skupin
set.seed(1)
library(NbClust) #Aktiviramo knjižnico
Indeksi <- NbClust(podatki_clu_std,
                   distance = "euclidean",
                   method = "ward.D2", 
                   index ="all",
                   max.nc = 6) #Rešitev med 0 in 6 skupin

## *** : The Hubert index is a graphical method of determining the number of clusters.
##                 In the plot of Hubert index, we seek a significant knee that corresponds to a 
##                 significant increase of the value of the measure i.e the significant peak in Hubert
##                 index second differences plot. 
## 

## *** : The D index is a graphical method of determining the number of clusters. 
##                 In the plot of D index, we seek a significant knee (the significant peak in Dindex
##                 second differences plot) that corresponds to a significant increase of the value of
##                 the measure. 
##  
## ******************************************************************* 
## * Among all indices:                                                
## * 2 proposed 2 as the best number of clusters 
## * 13 proposed 3 as the best number of clusters 
## * 1 proposed 4 as the best number of clusters 
## * 6 proposed 5 as the best number of clusters 
## * 1 proposed 6 as the best number of clusters 
## 
##                    ***** Conclusion *****                            
##  
## * According to the majority rule, the best number of clusters is  3 
##  
##  
## *******************************************************************
library(factoextra)
fviz_nbclust(Indeksi, #Grafičen prikaz indeksov
             ggtheme = theme_linedraw())
## Warning in if (class(best_nc) == "numeric") print(best_nc) else if
## (class(best_nc) == : the condition has length > 1 and only the first
## element will be used
## Warning in if (class(best_nc) == "matrix") .viz_NbClust(x,
## print.summary, : the condition has length > 1 and only the first
## element will be used
## Warning in if (class(best_nc) == "numeric") print(best_nc) else if
## (class(best_nc) == : the condition has length > 1 and only the first
## element will be used
## Warning in if (class(best_nc) == "matrix") {: the condition has length
## > 1 and only the first element will be used
## Among all indices: 
## ===================
## * 2 proposed  0 as the best number of clusters
## * 1 proposed  1 as the best number of clusters
## * 2 proposed  2 as the best number of clusters
## * 13 proposed  3 as the best number of clusters
## * 1 proposed  4 as the best number of clusters
## * 6 proposed  5 as the best number of clusters
## * 1 proposed  6 as the best number of clusters
## 
## Conclusion
## =========================
## * According to the majority rule, the best number of clusters is  3 .

podatki$RazvrstitevWARD <- cutree(WARD, 
                                  k = 5) #Določimo število skupin 

head(podatki[c("ID", "RazvrstitevWARD")])
##   ID RazvrstitevWARD
## 1  1               1
## 2  2               1
## 3  3               1
## 4  4               2
## 5  5               1
## 6  6               3
#Prikažemo začetne voditelje, ki jih uporabim kot začetna semena pri nehierarhičnem pristopu k razvrščanju. Ti so določeni kot centroidi skupin, ki smo jih oblikovali pri hieararhičnem pristopu k razvrščanju. To lahko naredimo s pomočjo funkcije aggregate, kjer po skupinah za vsako spremenljivko izračunamo povprečje

Zač_voditelji <- aggregate(podatki_clu_std, 
                           by = list(podatki$RazvrstitevWARD), 
                           FUN = mean)

round(Zač_voditelji, 3)
##   Group.1     X6     X8    X12    X15    X17    X18
## 1       1  0.769  0.569  0.036 -0.823 -0.664  0.671
## 2       2 -0.083 -1.092 -1.435 -0.212 -0.967 -1.360
## 3       3  0.242 -1.227 -0.349  1.578 -0.193 -1.075
## 4       4 -1.997  1.125  1.268  0.866  1.040  0.845
## 5       5  0.471  0.513  0.588 -0.678  0.842  0.715
library(factoextra) #Aktiviramo knjižnico
#Izvedemo razvrščanje po metodi voditeljev, kjer za začetne voditelje določimo centroide, dobljeno s hiearhičnim pristopom
MetodaVod <- hkmeans(podatki_clu_std, #Tabela s podatki
                     k = 5, #Število skupin
                     hc.metric = "euclidean", #Razdalja, uporabljena pri hierarhični razvrstitvi
                     hc.method = "ward.D2") #Algoritem, uporabljen pri hierarhični razvrstitvi

MetodaVod
## Hierarchical K-means clustering with 5 clusters of sizes 66, 60, 47, 45, 72
## 
## Cluster means:
##            X6         X8         X12        X15        X17        X18
## 1  0.74427417  0.5601473  0.04015323 -0.7627293 -0.6472461  0.6762847
## 2 -0.08312552 -1.0919144 -1.43534043 -0.2121703 -0.9669953 -1.3598179
## 3  0.23912059 -1.2817258 -0.35523495  1.5717845 -0.1903303 -1.1105201
## 4 -1.99711293  1.1248521  1.26840201  0.8663222  1.0398386  0.8453330
## 5  0.47912292  0.5301098  0.59844813 -0.6915002  0.8734826  0.7098436
## 
## Clustering vector:
##   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17 
##   1   1   1   2   1   3   2   4   4   3   2   1   1   4   1   4   4 
##  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34 
##   4   3   2   1   1   1   2   2   1   3   1   3   2   2   5   4   1 
##  35  36  37  38  39  41  42  43  44  45  46  47  48  49  50  51  52 
##   1   1   3   3   2   1   4   1   4   1   4   3   1   2   1   3   2 
##  53  54  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69 
##   5   1   4   1   1   1   1   1   3   2   2   4   4   2   3   1   2 
##  70  71  72  73  74  75  76  77  78  79  80  81  82  83  84  85  86 
##   3   1   1   1   5   1   1   2   1   1   2   2   1   2   3   1   1 
##  87  88  89  90  91  92  93  94  95  96  97  98  99 100 101 102 103 
##   4   1   2   3   1   1   1   3   2   4   3   5   5   5   2   5   3 
## 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 
##   2   4   4   3   2   5   5   4   5   4   4   4   3   2   5   5   5 
## 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 
##   2   2   1   3   5   3   2   2   5   4   5   1   5   3   3   2   5 
## 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 
##   5   4   5   4   5   4   3   5   2   5   3   2   5   1   4   1   5 
## 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 
##   5   5   5   3   2   2   4   4   2   3   1   2   3   5   5   1   5 
## 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 
##   5   5   2   5   5   2   2   5   2   3   5   5   4   5   2   3   5 
## 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 
##   5   5   3   2   4   3   5   5   5   2   5   3   2   4   4   3   2 
## 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 
##   1   1   4   5   4   4   4   3   1   5   5   1   1   5   1   1   5 
## 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 
##   3   2   2   5   4   5   1   1   3   3   2   1   5   4   5   4   5 
## 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 
##   4   3   5   2   5   3   2   5   1   4   1   1   5   5   5   3   2 
## 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 
##   2   4   4   2   3   1   2   3   5   5   1   5   1   1   2   1   5 
## 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 
##   2   2   5   2   3   5   5   4   1   2   3   5   5   5   3   2   4 
## 291 
##   3 
## 
## Within cluster sum of squares by cluster:
## [1] 82.08577 73.81166 47.14084 51.62706 87.21029
##  (between_SS / total_SS =  80.3 %)
## 
## Available components:
## 
##  [1] "cluster"      "centers"      "totss"        "withinss"    
##  [5] "tot.withinss" "betweenss"    "size"         "iter"        
##  [9] "ifault"       "data"         "hclust"
library(factoextra)
fviz_cluster(MetodaVod, 
             palette = "Set1", 
             repel = FALSE,
             ggtheme = theme_linedraw())

podatki$RazvrstitevVod <- MetodaVod$cluster
head(podatki[c("ID", "RazvrstitevWARD", "RazvrstitevVod")])
##   ID RazvrstitevWARD RazvrstitevVod
## 1  1               1              1
## 2  2               1              1
## 3  3               1              1
## 4  4               2              2
## 5  5               1              1
## 6  6               3              3
#Preverimo, če je prišlo do prerazvrstitev
table(podatki$RazvrstitevWARD)
## 
##  1  2  3  4  5 
## 63 60 48 45 74
table(podatki$RazvrstitevVod)
## 
##  1  2  3  4  5 
## 66 60 47 45 72
table(podatki$RazvrstitevWARD, podatki$RazvrstitevVod)
##    
##      1  2  3  4  5
##   1 63  0  0  0  0
##   2  0 60  0  0  0
##   3  1  0 47  0  0
##   4  0  0  0 45  0
##   5  2  0  0  0 72
Povprečja <- MetodaVod$centers
Povprečja #Povprečne vrednosti razvrstitvenih spremenljivk po skupinah, ki so osnova za opis skupin
##            X6         X8         X12        X15        X17        X18
## 1  0.74427417  0.5601473  0.04015323 -0.7627293 -0.6472461  0.6762847
## 2 -0.08312552 -1.0919144 -1.43534043 -0.2121703 -0.9669953 -1.3598179
## 3  0.23912059 -1.2817258 -0.35523495  1.5717845 -0.1903303 -1.1105201
## 4 -1.99711293  1.1248521  1.26840201  0.8663222  1.0398386  0.8453330
## 5  0.47912292  0.5301098  0.59844813 -0.6915002  0.8734826  0.7098436
#Grafično prikažemo povprečja, kar omogoča lažjo razlago

Slika <- as.data.frame(Povprečja)
Slika$id <- 1:nrow(Slika)

library(tidyr)
## 
## Attaching package: 'tidyr'
## The following object is masked from 'package:magrittr':
## 
##     extract
Slika <- pivot_longer(Slika, cols = c("X6", "X8", "X12", "X15", "X17", "X18"))

Slika$Skupina <- factor(Slika$id, 
                        levels = c(1, 2, 3, 4, 5), 
                        labels = c("1", "2", "3", "4", "5"))

Slika$ImeF <- factor(Slika$name, 
                     levels = c("X6", "X8", "X12", "X15", "X17", "X18"), 
                     labels = c("Kakovost izdelka", "Kakovost poprodajnih storitev", "Kakovost trženjskih storitev",  
                                "Inovativnost", "Konkurenčnost",  "Odzivnost"))

library(ggplot2)
ggplot(Slika, aes(x=ImeF, y=value)) +
  geom_hline(yintercept=0) +
  theme_linedraw() +
  geom_point(aes(shape=Skupina), size=3) +
  geom_line((aes(group=id, linetype=Skupina)), size=1) +
  ylab("Povprečje") +
  xlab("Razvrstitvene spremenljivke")+
  ylim(-2.2, 2.2) +
  theme(axis.text.x = element_text(angle = 45, vjust = 0.50, size = 10))

#S pomočjo analize variance (ANOVA, domneva o enakosti več povprečij za nedovisne vzorce) preverimo, če vse spremenljivke uspešno razvrščajo enote po skupinah. S funkcijo cbind združimo več spremenljivk (vektorjev) skupaj
fit <- aov(cbind(X6, X8, X12, X15, X17, X18) ~ as.factor(RazvrstitevVod), 
             data = podatki)

summary(fit)
##  Response X6 :
##                            Df Sum Sq Mean Sq F value    Pr(>F)    
## as.factor(RazvrstitevVod)   4 1325.3  331.34  314.87 < 2.2e-16 ***
## Residuals                 285  299.9    1.05                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##  Response X8 :
##                            Df  Sum Sq Mean Sq F value    Pr(>F)    
## as.factor(RazvrstitevVod)   4 1898.25  474.56  414.73 < 2.2e-16 ***
## Residuals                 285  326.12    1.14                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##  Response X12 :
##                            Df Sum Sq Mean Sq F value    Pr(>F)    
## as.factor(RazvrstitevVod)   4 994.91 248.728  265.39 < 2.2e-16 ***
## Residuals                 285 267.10   0.937                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##  Response X15 :
##                            Df  Sum Sq Mean Sq F value    Pr(>F)    
## as.factor(RazvrstitevVod)   4 1310.06  327.51  252.57 < 2.2e-16 ***
## Residuals                 285  369.56    1.30                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##  Response X17 :
##                            Df Sum Sq Mean Sq F value    Pr(>F)    
## as.factor(RazvrstitevVod)   4 836.82 209.204  134.76 < 2.2e-16 ***
## Residuals                 285 442.44   1.552                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##  Response X18 :
##                            Df  Sum Sq Mean Sq F value    Pr(>F)    
## as.factor(RazvrstitevVod)   4 3136.11  784.03  887.86 < 2.2e-16 ***
## Residuals                 285  251.67    0.88                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
aggregate(podatki$X19, 
          by = list(podatki$RazvrstitevVod), 
          FUN = mean)
##   Group.1        x
## 1       1 8.803030
## 2       2 2.916667
## 3       3 6.404255
## 4       4 5.533333
## 5       5 8.958333
aggregate(podatki$X20, 
          by = list(podatki$RazvrstitevVod), 
          FUN = mean)
##   Group.1        x
## 1       1 8.424242
## 2       2 3.550000
## 3       3 5.319149
## 4       4 4.733333
## 5       5 8.527778
fit <- aov(cbind(X19, X20) ~ as.factor(RazvrstitevVod), 
             data = podatki)

summary(fit)
##  Response X19 :
##                            Df  Sum Sq Mean Sq F value    Pr(>F)    
## as.factor(RazvrstitevVod)   4 1583.06  395.77  316.46 < 2.2e-16 ***
## Residuals                 285  356.42    1.25                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##  Response X20 :
##                            Df  Sum Sq Mean Sq F value    Pr(>F)    
## as.factor(RazvrstitevVod)   4 1263.33 315.832  266.36 < 2.2e-16 ***
## Residuals                 285  337.93   1.186                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Izvedemo Pearsonov Chi2 preizkus za ugotavljanje povezanosti med dvema kategorialnima spremenljivkama
hi_kvadrat <- chisq.test(podatki$PoslovanjeF, as.factor(podatki$RazvrstitevVod))
hi_kvadrat
## 
##  Pearson's Chi-squared test
## 
## data:  podatki$PoslovanjeF and as.factor(podatki$RazvrstitevVod)
## X-squared = 188.45, df = 8, p-value < 2.2e-16
addmargins(hi_kvadrat$observed) #Empirične frekvence
##                    
## podatki$PoslovanjeF   1   2   3   4   5 Sum
##            < 1 leto   7  49  20   6   8  90
##            1-5 let   14  11  18  39  25 107
##            > 5 let   45   0   9   0  39  93
##            Sum       66  60  47  45  72 290
addmargins(round(hi_kvadrat$expected, 2)) #Pričakovane frekvence
##                    
## podatki$PoslovanjeF     1     2     3     4     5 Sum
##            < 1 leto 20.48 18.62 14.59 13.97 22.34  90
##            1-5 let  24.35 22.14 17.34 16.60 26.57 107
##            > 5 let  21.17 19.24 15.07 14.43 23.09  93
##            Sum      66.00 60.00 47.00 45.00 72.00 290
round(hi_kvadrat$res, 2) #Standardizirani ostanki
##                    
## podatki$PoslovanjeF     1     2     3     4     5
##            < 1 leto -2.98  7.04  1.42 -2.13 -3.03
##            1-5 let  -2.10 -2.37  0.16  5.50 -0.30
##            > 5 let   5.18 -4.39 -1.56 -3.80  3.31
library(DescTools)
## 
## Attaching package: 'DescTools'
## The following objects are masked from 'package:Hmisc':
## 
##     %nin%, Label, Mean, Quantile
CramerV(podatki$PoslovanjeF, as.factor(podatki$RazvrstitevVod)) #Velikost učinka
## [1] 0.5700189
hi_kvadrat <- chisq.test(podatki$TipF, as.factor(podatki$RazvrstitevVod))
hi_kvadrat
## 
##  Pearson's Chi-squared test
## 
## data:  podatki$TipF and as.factor(podatki$RazvrstitevVod)
## X-squared = 100.98, df = 4, p-value < 2.2e-16
round(hi_kvadrat$res, 2)
##             
## podatki$TipF     1     2     3     4     5
##     Gostinec  1.55 -3.57  2.42 -2.43  1.74
##     Trgovec  -2.39  5.50 -3.73  3.74 -2.67
hi_kvadrat <- chisq.test(podatki$VelikostF, as.factor(podatki$RazvrstitevVod))
hi_kvadrat
## 
##  Pearson's Chi-squared test
## 
## data:  podatki$VelikostF and as.factor(podatki$RazvrstitevVod)
## X-squared = 57.388, df = 4, p-value = 1.026e-11
round(hi_kvadrat$res, 2)
##                    
## podatki$VelikostF       1     2     3     4     5
##   Do 10 zaposlenih   2.62 -2.73 -2.58  0.70  1.51
##   Nad 10 zaposlenih -3.12  3.25  3.07 -0.84 -1.79
hi_kvadrat <- chisq.test(podatki$DržavaF, as.factor(podatki$RazvrstitevVod))
hi_kvadrat
## 
##  Pearson's Chi-squared test
## 
## data:  podatki$DržavaF and as.factor(podatki$RazvrstitevVod)
## X-squared = 149.91, df = 4, p-value < 2.2e-16
round(hi_kvadrat$res, 2)
##                
## podatki$DržavaF     1     2     3     4     5
##             Slo  4.18 -3.62 -5.06 -0.10  3.48
##             EU  -4.57  3.96  5.54  0.11 -3.80
hi_kvadrat <- chisq.test(podatki$NačinF, as.factor(podatki$RazvrstitevVod))
hi_kvadrat
## 
##  Pearson's Chi-squared test
## 
## data:  podatki$NačinF and as.factor(podatki$RazvrstitevVod)
## X-squared = 91.135, df = 4, p-value < 2.2e-16
round(hi_kvadrat$res, 2)
##                   
## podatki$NačinF        1     2     3     4     5
##   Preko posrednika -1.65  6.81  0.11 -2.13 -3.03
##   Direktno          1.11 -4.57 -0.07  1.43  2.04
#Shranimo tabelo s podatki, ki vključuje tudi rešitev razvrščanja
write.table(podatki, "/cloud/project/Poglavje 6/Zgled/Segmentacija_rešitev.csv", row.names=FALSE, sep=";", dec=",")
fviz_dist(Razdalje, #Prikažemo matriko razdalj
          gradient = list(low = "black", 
                          mid = "gray", high = "white")) #Določimo barve grafikona

ggsave("Naslovna.pdf", width = 5.3, height = 4.4, dpi=2000)
ggsave("Naslovna.png", width = 5.3, height = 4.4, dpi=2000)