library(tidyverse)
## ── Attaching packages ─────────────────────────────────────────────────────────────────── tidyverse 1.3.0 ──
## ✓ ggplot2 3.2.1 ✓ purrr 0.3.3
## ✓ tibble 2.1.3 ✓ dplyr 0.8.4
## ✓ tidyr 1.0.2 ✓ stringr 1.4.0
## ✓ readr 1.3.1 ✓ forcats 0.4.0
## ── Conflicts ────────────────────────────────────────────────────────────────────── tidyverse_conflicts() ──
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
tekstid <- read_csv("http://www.tlu.ee/~kais/Kvant_digihum/keeletasemed240.csv")
## Parsed with column specification:
## cols(
## .default = col_double(),
## kood = col_character(),
## eksam = col_character(),
## keeletase = col_character(),
## sugu = col_character(),
## haridus = col_character(),
## kodakondsus = col_character(),
## elukoht_kov = col_character()
## )
## See spec(...) for full column specifications.
lai_tabel <- tekstid %>% group_by(keeletase) %>% summarise_if(is.numeric, mean)
pikk_tabel <- gather(lai_tabel, tunnus, vaartus, -keeletase)
Eesti keele tasemeeksami sooritajate osakaal haridustasemeti:
tekstid %>% group_by(haridus) %>%
summarise(kogus = n(), osakaal = 100 * n()/nrow(tekstid) %>% round()) %>%
filter(haridus != 0)
## # A tibble: 4 x 3
## haridus kogus osakaal
## <chr> <int> <dbl>
## 1 alg/põhiharidus 65 27.1
## 2 keskeri/kutseharidus 43 17.9
## 3 keskharidus 40 16.7
## 4 kõrgharidus 90 37.5
tekstid %>% group_by(haridus) %>%
summarise(kogus = n(), osakaal = 100 * n()/nrow(tekstid) %>% round()) %>%
filter(haridus != 0) %>% ggplot(aes(x = "", osakaal, fill = haridus)) +
geom_col() + coord_polar("y") + xlab("") +
theme(axis.text = element_blank(), axis.ticks = element_blank(), panel.grid = element_blank()) +
xlab("") + ylab("") + ggtitle("Eesti keele tasemeeksami tegijate osakaal haridustasemeti")
Eksamisooritajate jaotumine kodakondsuse järgi:
tekstid %>% group_by(kodakondsus) %>%
summarise(kogus = n(), osakaal = 100 * n()/nrow(tekstid) %>% round()) %>%
filter(kodakondsus != 0) %>% mutate(kodakondsus =
factor(kodakondsus, levels = kodakondsus[rev(order(kogus))])) %>%
ggplot(aes(kodakondsus, osakaal)) + geom_col(fill = "darkred") +
theme(axis.text.x=element_text(angle = 90))
Tekstide jaotumine pikkuse järgi keeletasemeti:
tekstid %>% ggplot(aes(sonad, keeletase)) + geom_point()
Seos kõigi tekstis leiduvate sõnade ja unikaalsete sõnade vahel:
tekstid %>% ggplot(aes(sonad, lemmad)) + geom_jitter()
Tekstisõnade ja unikaalsete sõnade arvu seos keeleosustasemeti:
tekstid %>% ggplot(aes(sonad, lemmad)) + geom_jitter() + facet_wrap(~keeletase)
Sõnade arvu ja lausepikkuse vahel ei ole nii selget seost:
tekstid %>% ggplot(aes(sonad, lpikkus)) + geom_jitter()
Kui mitmuslikud käändsõnad muutuvad sagedamaks, siis ainsuslikud muutuvad harvemaks:
tekstid %>% ggplot(aes(yld_mitm, yld_ains)) + geom_jitter()
Sama nähtust illustreeriv tulpdiagramm:
pikk_tabel %>% filter(tunnus == "yld_ains" | tunnus == "yld_mitm") %>%
ggplot(aes(tunnus, vaartus, fill = keeletase)) + geom_col(position= position_dodge()) +
scale_fill_manual(values = c("A2" = "#8b96f0", "B1" = "#b68dc2", "B2" = "#8bd0f0", "C1" = "#ffd66b"))
Käändevormide osakaalud A2- ja B2-tasemel
tibble(kaane = c("omastav", "osastav", "seesütlev", "seestütlev", "alaleütlev",
"alalütlev", "kaasaütlev"), A2 = c(0.0692, 0.0637, 0.0352, 0.00368, 0.0247, 0.0474, 0.0132),
B1 = c(0.0598, 0.0646, 0.0311, 0.0203, 0.0220, 0.0365, 0.0178)) %>%
ggplot(aes(x = A2, y = B1, label = kaane)) + geom_text(aes(hjust = 0, x = A2 + 0.002)) + geom_point() +
xlim(0, 0.09) + ylim(0, 0.09)
Käändevormide osakaalud B2- ja C1-tasemel
tibble(kaane = c("omastav", "osastav", "seesütlev", "seestütlev", "alaleütlev",
"alalütlev", "saav", "kaasaütlev"), B2 = c(0.0985, 0.0747, 0.024, 0.0112, 0.0224,
0.0357, 0.00644, 0.0187),
C1 = c(0.119, 0.0799, 0.0321, 0.0250, 0.0163, 0.0335, 0.0204, 0.0123)) %>%
ggplot(aes(x = B2, y = C1, label = kaane)) + geom_point() +
geom_text(aes(hjust = 0, x = B2 + 0.002)) + xlim(0, 0.120) + ylim (0, 0.120)