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)