R keele näited > 3+2 [1] 5 > 1:20 [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 > 1:50 [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 [26] 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 > pikkused=c(160, 173, 159) > pikkused+1 [1] 161 174 160 > kontsad=c(7, 3, 2) > pikkused+kontsad [1] 167 176 161 > max(pikkused) [1] 173 > #Proovige ka min, mean, median, sd > pikkused-mean(pikkused) [1] -4 9 -5 > #Näidake, kuivõrd iga pikkus on suurem vähimast pikkusest > (pikkused-mean(pikkused))**2 [1] 16 81 25 > sum((pikkused-mean(pikkused))**2) [1] 122 > length(pikkused) [1] 3 > sum((pikkused-mean(pikkused))**2)/length(pikkused) [1] 40.66667 > sqrt(sum((pikkused-mean(pikkused))**2)/length(pikkused)) [1] 6.377042 /home/jaagup/R/x86_64-pc-linux-gnu-library > library(tidyverse) Loading tidyverse: ggplot2 Loading tidyverse: tibble Loading tidyverse: tidyr Loading tidyverse: readr Loading tidyverse: purrr Loading tidyverse: dplyr Conflicts with tidy packages --------------------------------------------------- filter(): dplyr, stats lag(): dplyr, stats > dokmeta=read_csv("http://www.tlu.ee/~jaagup/andmed/keel/korpus/dokmeta.txt") Parsed with column specification: cols( kood = col_character(), korpus = col_character(), tekstikeel = col_character(), tekstityyp = col_character(), elukoht = col_character(), taust = col_character(), vanus = col_character(), sugu = col_character(), emakeel = col_character(), kodukeel = col_character(), keeletase = col_character(), haridus = col_character(), abivahendid = col_character() ) > head(dokmeta) # A tibble: 6 x 13 kood korpus tekstikeel tekstityyp elukoht taust vanus 1 doc_100636852915_item cFOoRQekA eesti essee idaviru op kuni18 2 doc_100636852916_item cFOoRQekA eesti muu idaviru op kuni18 3 doc_100636852917_item cFOoRQekA eesti essee idaviru op kuni18 4 doc_1010138197_item cFOoRQekA eesti muu tallinn ylop kuni26 5 doc_1010138198_item cFOoRQekA eesti muu tallinn ylop kuni26 6 doc_1010138199_item cFOoRQekA eesti muu tallinn ylop kuni26 # ... with 6 more variables: sugu , emakeel , kodukeel , # keeletase , haridus , abivahendid > colnames(dokmeta) [1] "kood" "korpus" "tekstikeel" "tekstityyp" "elukoht" [6] "taust" "vanus" "sugu" "emakeel" "kodukeel" [11] "keeletase" "haridus" "abivahendid" > nrow(dokmeta) [1] 12724 > dokmeta %>% nrow() [1] 12724 > filter(dokmeta, emakeel=="soome") # A tibble: 391 x 13 kood korpus tekstikeel tekstityyp elukoht taust vanus 1 doc_104580264060_item cFOoRQekA eesti muu soome teenist kuni40 2 doc_104580264061_item cFOoRQekA eesti essee soome teenist kuni40 3 doc_104580264062_item cFOoRQekA eesti essee soome teenist kuni40 4 doc_104580264063_item cFOoRQekA eesti essee soome teenist kuni26 5 doc_104580264064_item cFOoRQekA eesti essee soome teenist kuni26 6 doc_104580264065_item cFOoRQekA eesti harjutus soome teenist kuni26 7 doc_104580264066_item cFOoRQekA eesti muu soome teenist kuni40 8 doc_104580264067_item cFOoRQekA eesti muu soome teenist kuni26 9 doc_104580264068_item cFOoRQekA eesti muu soome teenist kuni26 10 doc_104580264069_item cFOoRQekA eesti batoo soome teenist kuni26 # ... with 381 more rows, and 6 more variables: sugu , emakeel , # kodukeel , keeletase , haridus , abivahendid > dokmeta %>% filter(emakeel=="soome") # A tibble: 391 x 13 kood korpus tekstikeel tekstityyp elukoht taust vanus 1 doc_104580264060_item cFOoRQekA eesti muu soome teenist kuni40 2 doc_104580264061_item cFOoRQekA eesti essee soome teenist kuni40 3 doc_104580264062_item cFOoRQekA eesti essee soome teenist kuni40 4 doc_104580264063_item cFOoRQekA eesti essee soome teenist kuni26 5 doc_104580264064_item cFOoRQekA eesti essee soome teenist kuni26 6 doc_104580264065_item cFOoRQekA eesti harjutus soome teenist kuni26 7 doc_104580264066_item cFOoRQekA eesti muu soome teenist kuni40 8 doc_104580264067_item cFOoRQekA eesti muu soome teenist kuni26 9 doc_104580264068_item cFOoRQekA eesti muu soome teenist kuni26 10 doc_104580264069_item cFOoRQekA eesti batoo soome teenist kuni26 # ... with 381 more rows, and 6 more variables: sugu , emakeel , # kodukeel , keeletase , haridus , abivahendid > dokmeta %>% filter(emakeel in c("soome", "rootsi")) Error: unexpected 'in' in "dokmeta %>% filter(emakeel in" > dokmeta %>% filter(emakeel %in% c("soome", "rootsi")) # A tibble: 393 x 13 kood korpus tekstikeel tekstityyp elukoht taust vanus 1 doc_104580264060_item cFOoRQekA eesti muu soome teenist kuni40 2 doc_104580264061_item cFOoRQekA eesti essee soome teenist kuni40 3 doc_104580264062_item cFOoRQekA eesti essee soome teenist kuni40 4 doc_104580264063_item cFOoRQekA eesti essee soome teenist kuni26 5 doc_104580264064_item cFOoRQekA eesti essee soome teenist kuni26 6 doc_104580264065_item cFOoRQekA eesti harjutus soome teenist kuni26 7 doc_104580264066_item cFOoRQekA eesti muu soome teenist kuni40 8 doc_104580264067_item cFOoRQekA eesti muu soome teenist kuni26 9 doc_104580264068_item cFOoRQekA eesti muu soome teenist kuni26 10 doc_104580264069_item cFOoRQekA eesti batoo soome teenist kuni26 # ... with 383 more rows, and 6 more variables: sugu , emakeel , # kodukeel , keeletase , haridus , abivahendid > dokmeta %>% summarise(kogus=n()) # A tibble: 1 x 1 kogus 1 12724 > dokmeta %>% group_by(emakeel) %>% summarise(kogus=n()) # A tibble: 17 x 2 emakeel kogus 1 eesti 229 2 inglise 119 3 jidis 1 4 katalaani 1 5 lati 2 6 leedu 24 7 muud 81 8 poola 3 9 rootsi 2 10 saksa 86 11 sloveenia 1 12 soome 391 13 ukraina 17 14 ungari 6 15 valgevene 1 16 vene 3184 17 8576 > dokmeta %>% group_by(emakeel) %>% summarise(kogus=n()) %>% arrange(desc(kogus) ) # A tibble: 17 x 2 emakeel kogus 1 8576 2 vene 3184 3 soome 391 4 eesti 229 5 inglise 119 6 saksa 86 7 muud 81 8 leedu 24 9 ukraina 17 10 ungari 6 11 poola 3 12 lati 2 13 rootsi 2 14 jidis 1 15 katalaani 1 16 sloveenia 1 17 valgevene 1 ) dokmeta %>% group_by(emakeel) %>% summarise(kogus=n()) %>% arrange(desc(kogus)) # A tibble: 17 x 2 emakeel kogus 1 8576 2 vene 3184 3 soome 391 4 eesti 229 5 inglise 119 6 saksa 86 7 muud 81 8 leedu 24 9 ukraina 17 10 ungari 6 11 poola 3 12 lati 2 13 rootsi 2 14 jidis 1 15 katalaani 1 16 sloveenia 1 17 valgevene 1 > #Kuvage, mitu teksti on igal keeletasemel dokmeta %>% group_by(emakeel) %>% summarise(kogus=n()) %>% filter(kogus>100) %>% complete(emakeel) %>% arrange(desc(kogus)) dokmeta %>% group_by(emakeel, keeletase) %>% summarise(kogus=n()) dokmeta %>% group_by(emakeel, keeletase) %>% summarise(kogus=n()) dokmeta %>% group_by(emakeel, keeletase) %>% summarise(kogus=n()) %>% spread(keeletase, kogus) # A tibble: 17 x 11 # Groups: emakeel [17] emakeel A A1 A2 B B1 B2 C C1 C2 `` * 1 eesti NA NA NA NA NA NA 46 1 178 4 2 inglise 111 NA 2 3 1 NA 1 NA NA 1 3 jidis NA NA NA NA NA NA NA 1 NA NA 4 katalaani NA NA NA NA NA NA 1 NA NA NA 5 lati 1 NA 1 NA NA NA NA NA NA NA 6 leedu NA NA NA 22 NA 1 1 NA NA NA 7 muud 73 NA 1 7 NA NA NA NA NA NA 8 poola NA NA 2 NA 1 NA NA NA NA NA 9 rootsi NA NA NA NA NA NA NA 1 NA 1 10 saksa 26 NA 3 36 1 NA NA NA NA 20 11 sloveenia 1 NA NA NA NA NA NA NA NA NA 12 soome 40 1 51 45 114 75 4 20 1 40 13 ukraina 14 NA NA 3 NA NA NA NA NA NA 14 ungari 4 NA 1 NA 1 NA NA NA NA NA 15 valgevene 1 NA NA NA NA NA NA NA NA NA 16 vene 1107 NA 32 1038 183 89 306 57 NA 372 17 NA NA 124 NA 111 63 NA 50 6 8222 dokmeta %>% group_by(emakeel, keeletase) %>% summarise(kogus=n()) %>% spread(keeletase, kogus, fill=0) emakeel A A1 A2 B B1 B2 C C1 C2 `` * 1 eesti 0 0 0 0 0 0 46 1 178 4 2 inglise 111 0 2 3 1 0 1 0 0 1 3 jidis 0 0 0 0 0 0 0 1 0 0 4 katalaani 0 0 0 0 0 0 1 0 0 0 5 lati 1 0 1 0 0 0 0 0 0 0 6 leedu 0 0 0 22 0 1 1 0 0 0 7 muud 73 0 1 7 0 0 0 0 0 0 8 poola 0 0 2 0 1 0 0 0 0 0 9 rootsi 0 0 0 0 0 0 0 1 0 1 10 saksa 26 0 3 36 1 0 0 0 0 20 11 sloveenia 1 0 0 0 0 0 0 0 0 0 12 soome 40 1 51 45 114 75 4 20 1 40 13 ukraina 14 0 0 3 0 0 0 0 0 0 14 ungari 4 0 1 0 1 0 0 0 0 0 15 valgevene 1 0 0 0 0 0 0 0 0 0 16 vene 1107 0 32 1038 183 89 306 57 0 372 17 0 0 124 0 111 63 0 50 6 8222 tabel1=dokmeta %>% group_by(emakeel, keeletase) %>% summarise(kogus=n()) %>% spread(keeletase, kogus, fill=0) %>% ungroup() tabel1 %>% mutate(kokku=tabel1 %>% select(2:ncol(tabel1)) %>% rowSums()) Näita vaid ridu, kus kokku > 100 tabel1 %>% mutate(kokku=tabel1 %>% select(2:ncol(tabel1)) %>% rowSums()) %>% filter(kokku>100) emakeel A A1 A2 B B1 B2 C C1 C2 `` kokku 1 eesti 0 0 0 0 0 0 46 1 178 4 229 2 inglise 111 0 2 3 1 0 1 0 0 1 119 3 soome 40 1 51 45 114 75 4 20 1 40 391 4 vene 1107 0 32 1038 183 89 306 57 0 372 3184 5 0 0 124 0 111 63 0 50 6 8222 8576