tekst="Juku tuli kooli"
 strsplit(tekst, "")[[1]]
##  [1] "J" "u" "k" "u" " " "t" "u" "l" "i" " " "k" "o" "o" "l" "i"
 table(strsplit(tekst, "")[[1]])
## 
##   i J k l o t u 
## 2 2 1 2 2 2 1 3
 library(tidyverse)
## -- Attaching packages ----------------------------------------------------- tidyverse 1.2.1 --
## <U+221A> ggplot2 3.0.0     <U+221A> purrr   0.2.5
## <U+221A> tibble  1.4.2     <U+221A> dplyr   0.7.6
## <U+221A> tidyr   0.8.1     <U+221A> stringr 1.3.1
## <U+221A> readr   1.1.1     <U+221A> forcats 0.3.0
## -- Conflicts -------------------------------------------------------- tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
 str_split(tekst, "")
## [[1]]
##  [1] "J" "u" "k" "u" " " "t" "u" "l" "i" " " "k" "o" "o" "l" "i"
 unique(str_split(tekst, "")[[1]])
## [1] "J" "u" "k" " " "t" "l" "i" "o"
 tibble(taht=str_split(tekst, "")[[1]])
## # A tibble: 15 x 1
##    taht 
##    <chr>
##  1 J    
##  2 u    
##  3 k    
##  4 u    
##  5 " "  
##  6 t    
##  7 u    
##  8 l    
##  9 i    
## 10 " "  
## 11 k    
## 12 o    
## 13 o    
## 14 l    
## 15 i
 tibble(taht=str_split(str_to_lower(tekst), "")[[1]]) %>% group_by(taht) %>% 
     summarise(kogus=n()) %>% arrange(-kogus)
## # A tibble: 8 x 2
##   taht  kogus
##   <chr> <int>
## 1 u         3
## 2 " "       2
## 3 i         2
## 4 k         2
## 5 l         2
## 6 o         2
## 7 j         1
## 8 t         1
 read_file("http://minitorn.tlu.ee/~jaagup/kool/java/kursused/18/r/juhend.txt")
## [1] "Kursusel tulemuse kirja saamiseks tarvilik\r\n\r\n* Märksõnade paarid filmi andmebaasis                     13.09\r\n* Arvutused + joonis filmiandmestiku põhjal               04.10\r\n* Võrgustiku uuring filmiandmestiku põhjal                18.10\r\n* Jaotused ja tõenäosusfunktsioonid                       18.10\r\n* Rühmade arvulised võrdlused (T-test ja ANOVA)           08.11\r\n* Shiny interaktiivsed joonised filmibaasi põhjal         15.11\r\n\r\nSelgitusi\r\n\r\n* Märksõnade paarid filmi andmebaasis \r\n\r\nFilmirühma (näiteks etteantud aastakümnes tehtud filmide) puhul sama filmi juures koos kasutatud märksõnade paarid järjestatuna paaride sageduse järgi\r\n\r\n\r\n* Arvutused + joonis filmiandmestiku põhjal \r\n\r\nKeerukus vastavalt võimetele. Võib olla ülevaade ühe tabeli \r\nandmete põhjal, aga põnevad avastused alati oodatud. \r\nVäljund soovitavalt R Markdowni abil\r\n\r\n* Võrgustiku uuring filmiandmestiku põhjal\r\n\r\nNäiteid: märksõnade koosesinemine, filmid ja festivalid, \r\nnäitlejad ja filmid, ajatelg.\r\nVaja katsetada, kuidas andmehulka piirata, et tulemus loetav oleks\r\nTemaatiline esitlus (2-5 minutit) + seletus, kuidas see koostati\r\n\r\n* Jaotused ja tõenäosusfunktsioonid\r\n\r\nNormaaljaotus, binoomjaotus, poisooni jaotus\r\nrnorm, pnorm, qnorm, pbinom, ppois\r\n\r\n* Rühmade arvulised võrdlused (T-test ja ANOVA)\r\n\r\nSoovitavalt keeleandmestiku põhjal. Andmestiku üldine tutvustus arvude ja jooniste abil.\r\nKahe arvukogumi võrdlus T-testi abil, juurde seletavad laused\r\nJaotuse sõltuvus rühmast ANOVA abil, juurde seletavad laused, karpdiagramm\r\nVõimalusel MANOVA\r\nEsitus soovitavalt R Markdowni abil loodud HTML-leht\r\n\r\n* Shiny interaktiivsed joonised filmibaasi põhjal\r\n\r\nKasutaja sisestusest/valikust sõltuvad joonised Shiny veebilehel\r\n\r\n\r\njaagup@tlu.ee"
#Järjestage veebifailis olevad tähed sageduse järgi
tekst= read_file("http://minitorn.tlu.ee/~jaagup/kool/java/kursused/18/r/juhend.txt")
 tibble(taht=str_split(str_to_lower(tekst), "")[[1]]) %>% group_by(taht) %>% 
     summarise(kogus=n()) %>% arrange(-kogus)
## # A tibble: 46 x 2
##    taht  kogus
##    <chr> <int>
##  1 " "     259
##  2 a       152
##  3 i       118
##  4 s       112
##  5 e       110
##  6 t        96
##  7 u        84
##  8 l        75
##  9 d        71
## 10 o        61
## # ... with 36 more rows
list.files("d:/r/1115/uuritavad")
## [1] "juhend_r.txt"                "juhend_veebiraamistikud.txt"
## [3] "Puu2.java"                   "Puu4.java"
tahtedeSagedused <- function(failinimi){
  tekst= read_file(failinimi)
  vastus=tibble(taht=str_split(str_to_lower(tekst), "")[[1]]) %>% group_by(taht) %>% 
     summarise(kogus=n())
  return (vastus)
}
print(tahtedeSagedused("d:/r/1115/uuritavad/Puu2.java"))
## # A tibble: 49 x 2
##    taht  kogus
##    <chr> <int>
##  1 -         1
##  2 " "     130
##  3 "\n"     31
##  4 "\""      2
##  5 (        38
##  6 )        38
##  7 *         1
##  8 ,        20
##  9 .        32
## 10 ;        16
## # ... with 39 more rows
  kaust="d:/r/1115/uuritavad/"
  tabel1=tahtedeSagedused(paste(kaust, "Puu2.java", sep=""))
  tabel2=tahtedeSagedused(paste(kaust, "juhend_r.txt", sep=""))
  colnames(tabel2)=c("taht", "juhend_r.txt")
  tabel1 %>% full_join(tabel2, by="taht") %>% replace(., is.na(.), 0)
## # A tibble: 59 x 3
##    taht  kogus juhend_r.txt
##    <chr> <dbl>        <dbl>
##  1 -         1            5
##  2 " "     130          259
##  3 "\n"     31            0
##  4 "\""      2            0
##  5 (        38            4
##  6 )        38            4
##  7 *         1           12
##  8 ,        20           16
##  9 .        32           12
## 10 ;        16            0
## # ... with 49 more rows
 # tabel1 %>% left_join(tabel2 %>% rename(juhend_r=kogus), by="taht")
  kaust="d:/r/1115/uuritavad/"
  failinimed=list.files(kaust)
  koos=tahtedeSagedused(paste(kaust, failinimed[1], sep=""))
  colnames(koos)=c("taht", failinimed[1])
  for(failinimi in failinimed[2:length(failinimed)]){
    tabel=tahtedeSagedused(paste(kaust, failinimi, sep=""))
    colnames(tabel)=c("taht", failinimi)
    koos=koos %>% full_join(tabel, by="taht")
  }
  koos=koos %>% replace(., is.na(.), 0)
  print(koos)
## # A tibble: 63 x 5
##    taht   juhend_r.txt juhend_veebiraamistikud.txt Puu2.java Puu4.java
##    <chr>         <dbl>                       <dbl>     <dbl>     <dbl>
##  1 -                 5                           3         1         2
##  2 " "             259                         262       130       380
##  3 "\r\n"           47                          29         0         0
##  4 (                 4                           0        38        77
##  5 )                 4                           0        38        77
##  6 *                12                           5         1         2
##  7 ,                16                           4        20        46
##  8 .                12                          22        32        52
##  9 /                 1                           2         0         8
## 10 :                 1                           4         0         3
## # ... with 53 more rows
  arvud=koos %>% select(-taht)
  t(arvud)
##                             [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## juhend_r.txt                   5  259   47    4    4   12   16   12    1
## juhend_veebiraamistikud.txt    3  262   29    0    0    5    4   22    2
## Puu2.java                      1  130    0   38   38    1   20   32    0
## Puu4.java                      2  380    0   77   77    2   46   52    8
##                             [,10] [,11] [,12] [,13] [,14] [,15] [,16]
## juhend_r.txt                    1     1     3     6    11     1     1
## juhend_veebiraamistikud.txt     4     1     0    13    35     9     5
## Puu2.java                       0     0     0    13    10    12    11
## Puu4.java                       3     0     3    47    34    15    10
##                             [,17] [,18] [,19] [,20] [,21] [,22] [,23]
## juhend_r.txt                    1     2     3     1   152    14    71
## juhend_veebiraamistikud.txt     4     1     2     5   114    20    40
## Puu2.java                       1     2     0     2    46     4    21
## Puu4.java                       8     9     0     0   125    27    63
##                             [,24] [,25] [,26] [,27] [,28] [,29] [,30]
## juhend_r.txt                  110    16    12    23   118    40    41
## juhend_veebiraamistikud.txt   140     4    14     8   128    15    66
## Puu2.java                      36     7    13    11    45     7     4
## Puu4.java                     153     9    32    31   119    22    34
##                             [,31] [,32] [,33] [,34] [,35] [,36] [,37]
## juhend_r.txt                   75    54    59    61    22     1    48
## juhend_veebiraamistikud.txt    52    47    54    52    21     0    54
## Puu2.java                      14     8    39    18    49     0    17
## Puu4.java                      89    26    95    87    86     0    65
##                             [,38] [,39] [,40] [,41] [,42] [,43] [,44]
## juhend_r.txt                  112    96    84    43     2    25    12
## juhend_veebiraamistikud.txt    85    86    49    33     0     9     9
## Puu2.java                      30    30    24     6     8     0     0
## Puu4.java                     103    98    85    32    18     0     0
##                             [,45] [,46] [,47] [,48] [,49] [,50] [,51]
## juhend_r.txt                    8     3     0     0     0     0     0
## juhend_veebiraamistikud.txt     2     1     1     1     2    12     0
## Puu2.java                       0     9     0     1    10     0    31
## Puu4.java                       0    14     0     1    28     0    81
##                             [,52] [,53] [,54] [,55] [,56] [,57] [,58]
## juhend_r.txt                    0     0     0     0     0     0     0
## juhend_veebiraamistikud.txt     0     0     0     0     0     0     0
## Puu2.java                       2    16     1     1     7     7     4
## Puu4.java                       8    45     1     1    16    16    22
##                             [,59] [,60] [,61] [,62] [,63]
## juhend_r.txt                    0     0     0     0     0
## juhend_veebiraamistikud.txt     0     0     0     0     0
## Puu2.java                       1     1    11     0     0
## Puu4.java                       1     4    10     3     1
  koos$taht
##  [1] "-"    " "    "\r\n" "("    ")"    "*"    ","    "."    "/"    ":"   
## [11] "@"    "+"    "0"    "1"    "2"    "3"    "4"    "5"    "8"    "9"   
## [21] "a"    "b"    "d"    "e"    "f"    "g"    "h"    "i"    "j"    "k"   
## [31] "l"    "m"    "n"    "o"    "p"    "q"    "r"    "s"    "t"    "u"   
## [41] "v"    "w"    "õ"    "ä"    "ü"    "y"    "6"    "7"    "c"    "ö"   
## [51] "\n"   "\""   ";"    "["    "]"    "{"    "}"    "="    ">"    "z"   
## [61] "x"    "<e4>" "<fc>"
  failiandmed=t(arvud)
  failiandmed
##                             [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## juhend_r.txt                   5  259   47    4    4   12   16   12    1
## juhend_veebiraamistikud.txt    3  262   29    0    0    5    4   22    2
## Puu2.java                      1  130    0   38   38    1   20   32    0
## Puu4.java                      2  380    0   77   77    2   46   52    8
##                             [,10] [,11] [,12] [,13] [,14] [,15] [,16]
## juhend_r.txt                    1     1     3     6    11     1     1
## juhend_veebiraamistikud.txt     4     1     0    13    35     9     5
## Puu2.java                       0     0     0    13    10    12    11
## Puu4.java                       3     0     3    47    34    15    10
##                             [,17] [,18] [,19] [,20] [,21] [,22] [,23]
## juhend_r.txt                    1     2     3     1   152    14    71
## juhend_veebiraamistikud.txt     4     1     2     5   114    20    40
## Puu2.java                       1     2     0     2    46     4    21
## Puu4.java                       8     9     0     0   125    27    63
##                             [,24] [,25] [,26] [,27] [,28] [,29] [,30]
## juhend_r.txt                  110    16    12    23   118    40    41
## juhend_veebiraamistikud.txt   140     4    14     8   128    15    66
## Puu2.java                      36     7    13    11    45     7     4
## Puu4.java                     153     9    32    31   119    22    34
##                             [,31] [,32] [,33] [,34] [,35] [,36] [,37]
## juhend_r.txt                   75    54    59    61    22     1    48
## juhend_veebiraamistikud.txt    52    47    54    52    21     0    54
## Puu2.java                      14     8    39    18    49     0    17
## Puu4.java                      89    26    95    87    86     0    65
##                             [,38] [,39] [,40] [,41] [,42] [,43] [,44]
## juhend_r.txt                  112    96    84    43     2    25    12
## juhend_veebiraamistikud.txt    85    86    49    33     0     9     9
## Puu2.java                      30    30    24     6     8     0     0
## Puu4.java                     103    98    85    32    18     0     0
##                             [,45] [,46] [,47] [,48] [,49] [,50] [,51]
## juhend_r.txt                    8     3     0     0     0     0     0
## juhend_veebiraamistikud.txt     2     1     1     1     2    12     0
## Puu2.java                       0     9     0     1    10     0    31
## Puu4.java                       0    14     0     1    28     0    81
##                             [,52] [,53] [,54] [,55] [,56] [,57] [,58]
## juhend_r.txt                    0     0     0     0     0     0     0
## juhend_veebiraamistikud.txt     0     0     0     0     0     0     0
## Puu2.java                       2    16     1     1     7     7     4
## Puu4.java                       8    45     1     1    16    16    22
##                             [,59] [,60] [,61] [,62] [,63]
## juhend_r.txt                    0     0     0     0     0
## juhend_veebiraamistikud.txt     0     0     0     0     0
## Puu2.java                       1     1    11     0     0
## Puu4.java                       1     4    10     3     1
  dist(failiandmed)
##                             juhend_r.txt juhend_veebiraamistikud.txt
## juhend_veebiraamistikud.txt     99.05554                            
## Puu2.java                      278.61263                   255.13330
## Puu4.java                      236.17578                   235.90888
##                             Puu2.java
## juhend_veebiraamistikud.txt          
## Puu2.java                            
## Puu4.java                   366.51876
  asukohad=cmdscale(dist(failiandmed), 2 )
  class(asukohad)
## [1] "matrix"
  plot(asukohad)

  as_tibble(asukohad) %>% add_column(fnimed=rownames(asukohad)) %>%
       ggplot(aes(V1, V2, label=fnimed)) + geom_text()

  asukohad=cmdscale(dist(scale(failiandmed)), 2 )
 as_tibble(asukohad) %>% add_column(fnimed=rownames(asukohad)) %>%
       ggplot(aes(V1, V2, label=fnimed)) + geom_text()

 failiandmed=t(scale(arvud))
 asukohad=cmdscale(dist(failiandmed), 2 )
 as_tibble(asukohad) %>% add_column(fnimed=rownames(asukohad)) %>%
       ggplot(aes(V1, V2, label=fnimed)) + geom_text()