Učitavanje paketa

require(XLConnect)
require(ClustOfVar)
require(ggplot2)
require(reshape2)

Učitavanje podataka i dodavanje varijabli

podaci.original <- readWorksheetFromFile(file="analiza_Petrica_4.xlsx", sheet=1, header=T)
podaci.original[is.na(podaci.original)] <- 0
podaci.original <- within(podaci.original,{
  br_for_disk_bez_vijesti_kroz_br_stud <- broj_forum_diskusija_bez_vijesti / broj_studenata
  br_for_post_bez_vij_kroz_br_for_disk_bez_vij  <- broj_forum_postova_bez_vijesti / (1 + broj_forum_diskusija_bez_vijesti)
})

Logaritmiranje varijabli koje poprimaju više od 10 različitih vrijednosti

number_of_values <- list()
for (i in names(podaci.original[-(1:3)])) number_of_values[[i]] <- length(unique(podaci.original[[i]]))
X.quanti <- c()
X.quali <- c()
logaritam <- function(x) log10(x+1)
podaci.logaritam <- podaci.original[-(4:5)]
for (i in names(podaci.original[-(1:5)])) {
  if (number_of_values[[i]] > 10) podaci.logaritam[i] <- apply(podaci.original[i], 2, logaritam)
  if (number_of_values[[i]] > 3) X.quanti <- append(X.quanti, i) else X.quali <- append(X.quali, i)
}

Standardizacija podataka

podaci.standard <- podaci.logaritam
podaci.standard[-(1:3)] <- scale(podaci.logaritam[-(1:3)])

Hijerarhijsko klasteriranje varijabli

podaci.standard[,X.quali] <- data.frame(apply(podaci.standard[X.quali], 2, as.factor))
stablo <- hclustvar(podaci.standard[,X.quanti], podaci.standard[,X.quali])
plot(stablo)

plot(stablo,type='index')

Stabilnost particije

S \(B>15\) ponekad ima više problema jer generira iste stupce pa treba pokušati više puta.

stab <- stability(stablo,B=25, graph=T)

Raspršenost prilagođenih Rand indeksa

Obični boxplot

boxplot(stab$matCR, col='yellow')

ggplot boxplot

ggplot(melt(stab$matCR), aes(y=value, x=Var2, fill=Var2)) + xlab('') + ylab('') +
    geom_boxplot(alpha=0.5, outlier.alpha=1) + theme(legend.position = 'none')

Raspršenost prilagođenih Rand indeksa (samo do 10 klastera)

Obični boxplot

boxplot(stab$matCR[,1:9], col='yellow')

ggplot boxplot

ggplot(melt(stab$matCR[,1:9]), aes(y=value, x=Var2, fill=Var2)) + xlab('') + ylab('') +
    geom_boxplot(alpha=0.5, outlier.alpha=1) + theme(legend.position = 'none')

Uzimamo da je 6 klastera

klaster6 <- cutreevar(stablo, 6, matsim=T) 

Veličine klastera

klaster6$size
## [1] 7 8 2 2 5 2

Izgled pojedinih klastera

klaster6$var
## $cluster1
##                                              squared loading
## broj_forum_diskusija                               0.6805986
## broj_forum_diskusija_bez_vijesti                   0.8745788
## broj_forum_postova_bez_vijesti                     0.9314030
## broj_forum_diskusija_samo_vijesti                  0.1383815
## forum                                              0.4720894
## br_for_post_bez_vij_kroz_br_for_disk_bez_vij       0.6233271
## br_for_disk_bez_vijesti_kroz_br_stud               0.5348867
## 
## $cluster2
##                                 squared loading
## broj_pitanja_na_predmetu              0.7541720
## broj_testova_na_predmetu              0.7634358
## broj_grade_itema                      0.7844071
## broj_aktivnosti_na_predmetu           0.6582544
## broj_stvarno_ocjenjenih_stavaka       0.5119125
## quiz                                  0.7652761
## page                                  0.3556373
## assign                                0.3962607
## 
## $cluster3
##                                      squared loading
## broj_pracenih_aktivnosti_na_predmetu       0.9627827
## ukljuceno_pracenje_na_kolegiju             0.9627827
## 
## $cluster4
##                                           squared loading
## broj_pojmova_u_rjecniku                         0.8425786
## broj_rjecnika_u_kojima_sudjeluju_studenti       0.8425786
## 
## $cluster5
##                  squared loading
## broj_punih_grupa       0.5922533
## feedback               0.5556309
## choicegroup            0.6265659
## journal                0.2696381
## workshop               0.7231716
## 
## $cluster6
##      squared loading
## chat       0.7591177
## data       0.7591177

Homogenost klastera

klaster6$wss
## [1] 4.255265 4.989356 1.925565 1.685157 2.767260 1.518235

Postotak homogenosti particije

klaster6$E
## [1] 50.15274

Matrice sličnosti varijabli unutar klastera

klaster6$sim
## $cluster1
##                                              broj_forum_diskusija
## broj_forum_diskusija                                    1.0000000
## broj_forum_diskusija_bez_vijesti                        0.5221700
## broj_forum_postova_bez_vijesti                          0.5046018
## broj_forum_diskusija_samo_vijesti                       0.5445937
## forum                                                   0.1763942
## br_for_post_bez_vij_kroz_br_for_disk_bez_vij            0.2600133
## br_for_disk_bez_vijesti_kroz_br_stud                    0.2403181
##                                              broj_forum_diskusija_bez_vijesti
## broj_forum_diskusija                                               0.52217004
## broj_forum_diskusija_bez_vijesti                                   1.00000000
## broj_forum_postova_bez_vijesti                                     0.91509016
## broj_forum_diskusija_samo_vijesti                                  0.03174528
## forum                                                              0.36363368
## br_for_post_bez_vij_kroz_br_for_disk_bez_vij                       0.43017361
## br_for_disk_bez_vijesti_kroz_br_stud                               0.51825480
##                                              broj_forum_postova_bez_vijesti
## broj_forum_diskusija                                             0.50460177
## broj_forum_diskusija_bez_vijesti                                 0.91509016
## broj_forum_postova_bez_vijesti                                   1.00000000
## broj_forum_diskusija_samo_vijesti                                0.04624151
## forum                                                            0.36793384
## br_for_post_bez_vij_kroz_br_for_disk_bez_vij                     0.70608452
## br_for_disk_bez_vijesti_kroz_br_stud                             0.46891383
##                                              broj_forum_diskusija_samo_vijesti
## broj_forum_diskusija                                              0.5445936534
## broj_forum_diskusija_bez_vijesti                                  0.0317452789
## broj_forum_postova_bez_vijesti                                    0.0462415100
## broj_forum_diskusija_samo_vijesti                                 1.0000000000
## forum                                                             0.0068240720
## br_for_post_bez_vij_kroz_br_for_disk_bez_vij                      0.0488202756
## br_for_disk_bez_vijesti_kroz_br_stud                              0.0000194174
##                                                    forum
## broj_forum_diskusija                         0.176394189
## broj_forum_diskusija_bez_vijesti             0.363633680
## broj_forum_postova_bez_vijesti               0.367933842
## broj_forum_diskusija_samo_vijesti            0.006824072
## forum                                        1.000000000
## br_for_post_bez_vij_kroz_br_for_disk_bez_vij 0.233765711
## br_for_disk_bez_vijesti_kroz_br_stud         0.201591130
##                                              br_for_post_bez_vij_kroz_br_for_disk_bez_vij
## broj_forum_diskusija                                                           0.26001330
## broj_forum_diskusija_bez_vijesti                                               0.43017361
## broj_forum_postova_bez_vijesti                                                 0.70608452
## broj_forum_diskusija_samo_vijesti                                              0.04882028
## forum                                                                          0.23376571
## br_for_post_bez_vij_kroz_br_for_disk_bez_vij                                   1.00000000
## br_for_disk_bez_vijesti_kroz_br_stud                                           0.18044722
##                                              br_for_disk_bez_vijesti_kroz_br_stud
## broj_forum_diskusija                                                 0.2403181353
## broj_forum_diskusija_bez_vijesti                                     0.5182548044
## broj_forum_postova_bez_vijesti                                       0.4689138333
## broj_forum_diskusija_samo_vijesti                                    0.0000194174
## forum                                                                0.2015911304
## br_for_post_bez_vij_kroz_br_for_disk_bez_vij                         0.1804472187
## br_for_disk_bez_vijesti_kroz_br_stud                                 1.0000000000
## 
## $cluster2
##                                 broj_pitanja_na_predmetu
## broj_pitanja_na_predmetu                       1.0000000
## broj_testova_na_predmetu                       0.7641184
## broj_grade_itema                               0.3895632
## broj_aktivnosti_na_predmetu                    0.3901420
## broj_stvarno_ocjenjenih_stavaka                0.2669706
## quiz                                           0.7491235
## page                                           0.2622591
## assign                                         0.1101341
##                                 broj_testova_na_predmetu broj_grade_itema
## broj_pitanja_na_predmetu                      0.76411835        0.3895632
## broj_testova_na_predmetu                      1.00000000        0.4115074
## broj_grade_itema                              0.41150737        1.0000000
## broj_aktivnosti_na_predmetu                   0.30957640        0.5522471
## broj_stvarno_ocjenjenih_stavaka               0.25137240        0.5160956
## quiz                                          0.97865717        0.4267727
## page                                          0.25204333        0.1444383
## assign                                        0.08494653        0.6710231
##                                 broj_aktivnosti_na_predmetu
## broj_pitanja_na_predmetu                          0.3901420
## broj_testova_na_predmetu                          0.3095764
## broj_grade_itema                                  0.5522471
## broj_aktivnosti_na_predmetu                       1.0000000
## broj_stvarno_ocjenjenih_stavaka                   0.3006252
## quiz                                              0.3048576
## page                                              0.2839175
## assign                                            0.3213800
##                                 broj_stvarno_ocjenjenih_stavaka       quiz
## broj_pitanja_na_predmetu                             0.26697056 0.74912355
## broj_testova_na_predmetu                             0.25137240 0.97865717
## broj_grade_itema                                     0.51609564 0.42677275
## broj_aktivnosti_na_predmetu                          0.30062518 0.30485758
## broj_stvarno_ocjenjenih_stavaka                      1.00000000 0.26034183
## quiz                                                 0.26034183 1.00000000
## page                                                 0.03346099 0.24950822
## assign                                               0.27644337 0.08578442
##                                       page     assign
## broj_pitanja_na_predmetu        0.26225914 0.11013406
## broj_testova_na_predmetu        0.25204333 0.08494653
## broj_grade_itema                0.14443835 0.67102307
## broj_aktivnosti_na_predmetu     0.28391754 0.32137995
## broj_stvarno_ocjenjenih_stavaka 0.03346099 0.27644337
## quiz                            0.24950822 0.08578442
## page                            1.00000000 0.06373589
## assign                          0.06373589 1.00000000
## 
## $cluster3
##                                      broj_pracenih_aktivnosti_na_predmetu
## broj_pracenih_aktivnosti_na_predmetu                            1.0000000
## ukljuceno_pracenje_na_kolegiju                                  0.8566713
##                                      ukljuceno_pracenje_na_kolegiju
## broj_pracenih_aktivnosti_na_predmetu                      0.8566713
## ukljuceno_pracenje_na_kolegiju                            1.0000000
## 
## $cluster4
##                                           broj_pojmova_u_rjecniku
## broj_pojmova_u_rjecniku                                 1.0000000
## broj_rjecnika_u_kojima_sudjeluju_studenti               0.4694403
##                                           broj_rjecnika_u_kojima_sudjeluju_studenti
## broj_pojmova_u_rjecniku                                                   0.4694403
## broj_rjecnika_u_kojima_sudjeluju_studenti                                 1.0000000
## 
## $cluster5
##                  broj_punih_grupa    feedback choicegroup     journal
## broj_punih_grupa        1.0000000 0.162268675 0.263277644 0.130402937
## feedback                0.1622687 1.000000000 0.550014219 0.002526958
## choicegroup             0.2632776 0.550014219 1.000000000 0.004839906
## journal                 0.1304029 0.002526958 0.004839906 1.000000000
## workshop                0.3005885 0.214872855 0.247431654 0.433656958
##                   workshop
## broj_punih_grupa 0.3005885
## feedback         0.2148729
## choicegroup      0.2474317
## journal          0.4336570
## workshop         1.0000000
## 
## $cluster6
##          chat     data
## chat 1.000000 0.268568
## data 0.268568 1.000000