---
title: "MMZI 2022/2023 -- analiza"
output:
flexdashboard::flex_dashboard:
orientation: columns
vertical_layout: fill
source_code: embed
---
```{r setup, include=FALSE}
library(flexdashboard)
library(tidyverse)
library(readxl)
library(corrplot)
options(pillar.sigfig = 4)
podaci <- read_excel("MMZI 2022_2023.xlsx") %>% drop_na(OCJENA)
podaci_KOL <- podaci %>%
unite("student", Ime, Prezime, sep = " ") %>%
select(c(student:"KOL 3", KP, PROJEKT)) %>%
pivot_longer(c("KOL 1":"KOL 3", "KP", "PROJEKT"), names_to = "aktivnost", values_to = "bodovi")
podaci_korelacije <- podaci %>% select(c("KOL 1", "KOL 2", "KOL 3", KP, PROJEKT))
testRes = cor.mtest(podaci_korelacije, conf.level = 0.975)
AS_MED <- podaci_KOL %>% group_by(aktivnost) %>%
summarise(mean_value = mean(bodovi,na.rm=TRUE), median_value = median(bodovi,na.rm=TRUE))
```
Gustoće
=======================================================================
Column {data-width=500}
-----------------------------------------------------------------------
### Funkcije gustoća po aktivnostima
```{r warning=FALSE, fig.width=17, fig.height=9}
ggplot(podaci_KOL, aes(x=bodovi)) +
geom_histogram(aes(y=..density..), binwidth = 1, color="#ec8ae5", fill="#48d09b", alpha=0.7) +
geom_density(alpha=.2, fill="yellow") +
scale_x_continuous(name = "bodovi na kolokviju", breaks = seq(0,21,2), limits = c(-1,21)) +
scale_y_continuous(limits = c(0, 0.2)) + guides(color = "none", fill = "none") +
facet_wrap(vars(aktivnost)) +
geom_vline(data=AS_MED, aes(xintercept=mean_value), color="blue", linetype="dashed", size=0.5, alpha=0.6) +
geom_vline(data=AS_MED, aes(xintercept=median_value), color="red", linetype="dashed", size=0.5, alpha=0.6) +
annotate(geom="point", x=16, y=0.14, size=2, shape=21, fill="red",color="red") +
annotate(geom="text", x=16.4, y=0.141, label="median",size=3.5,hjust=0) +
annotate(geom="point", x=16, y=0.13, size=2, shape=21, fill="blue",color="blue") +
annotate(geom="text", x=16.4, y=0.131, label="mean",size=3.5,hjust=0) +
geom_rug(alpha=0.3)
```
Column {data-width=150}
-----------------------------------------------------------------------
### Brojčane vrijednosti
```{r warning=FALSE}
podaci_KOL %>% group_by(aktivnost) %>%
summarize(MEAN = mean(bodovi, na.rm = TRUE),
MEDIAN = median(bodovi, na.rm = TRUE),
MIN = min(bodovi, na.rm = TRUE),
MAX = max(bodovi, na.rm = TRUE)) %>% knitr::kable()
```
Violine
=======================================================================
```{r warning=FALSE, fig.width=17, fig.height=9}
ggplot(podaci_KOL, aes(x=aktivnost, y=bodovi, fill=aktivnost)) +
geom_dotplot(binaxis='y', stackdir='center', fill='black', dotsize=0.25, alpha=0.3, binwidth = 0.8) +
geom_violin(trim=F, alpha=0.3) + geom_boxplot(width=0.05, alpha=1) + xlab('') +
theme(axis.text.x=element_text(size=11), axis.text.y=element_text(size=11), legend.position='none')
```
Ukupni bodovi
=======================================================================
Column {data-width=400}
-----------------------------------------------------------------------
### Frekvencije ukupnih bodova
```{r warning=FALSE, fig.width=10, fig.height=5}
ggplot(podaci, aes(x=UKUPNO)) +
geom_histogram(binwidth = 1, color="#ec8ae5", fill="#48d09b", alpha=0.7) +
scale_x_continuous(name = "ukupni bodovi", breaks = seq(0,100,5), limits = c(0,100)) +
scale_y_continuous(name = "broj studenata", breaks = seq(0,16)) +
theme(panel.grid.minor = element_blank())
```
### Ocjene
```{r warning=FALSE, fig.width=10, fig.height=5}
ggplot(podaci, aes(x=factor(OCJENA))) +
geom_bar(width=0.7, fill="steelblue") +
geom_text(stat="count", aes(label=..count..), vjust=-0.5, nudge_x = -0.2, size = 5) +
geom_text(aes( label = sprintf('(%s)', scales::percent(..prop..)), group = 1), stat= "count",
vjust = -.5, nudge_x = 0.15, size = 5) +
scale_x_discrete(name = "Ocjena") +
scale_y_continuous(name = "broj studenata", breaks = seq(0,120,10), limits = c(0,120)) +
theme(panel.grid.major.x = element_blank())
```
Column {data-width=400}
-----------------------------------------------------------------------
### Distribucija bodova
```{r warning=FALSE, fig.width=10, fig.height=7}
ggplot(podaci, aes(x=UKUPNO)) +
geom_histogram(aes(y=..density..), color="#ec8ae5", fill="#48d09b", alpha=0.5,
breaks = c(0,20,50,61,75,91,100)) +
geom_vline(aes(xintercept=mean(UKUPNO)),color="blue", linetype="dashed", size=0.5, alpha=0.6) +
geom_vline(aes(xintercept=median(UKUPNO)),color="red", linetype="dashed", size=0.5, alpha=0.6) +
annotate(geom="point", x=90, y=0.035, size=2, shape=21, fill="red",color="red") +
annotate(geom="text", x=91, y=0.035, label="median",size=3.5,hjust=0) +
annotate(geom="point", x=90, y=0.033, size=2, shape=21, fill="blue",color="blue") +
annotate(geom="text", x=91, y=0.033, label="mean",size=3.5,hjust=0) +
geom_density(alpha=.2, fill="yellow") +
geom_rug() +
scale_x_continuous(name = "ukupni bodovi", breaks = seq(0,100,5), limits = c(0,100)) +
theme(panel.grid.minor.x = element_blank())
```
Korelacije
=======================================================================
Column {data-width=400}
-----------------------------------------------------------------------
### Korelacije
```{r warning=FALSE, fig.width=10, fig.height=7}
corrplot(round(cor(podaci_korelacije, use = "pairwise.complete.obs"), 2), type = "lower",
diag=FALSE, addCoef.col = 'black', tl.srt = 45)
```
Column {data-width=400}
-----------------------------------------------------------------------
### p-vrijednosti korelacija
```{r warning=FALSE, fig.width=10, fig.height=7}
corrplot(round(cor(podaci_korelacije, use = "pairwise.complete.obs"), 2), type = "lower",
diag=FALSE, tl.srt = 45, p.mat = testRes$p, insig = 'p-value', sig.level = -1)
```