<table width = 900 border = 0><tr><td>
# <b>NMSA230 - 	Úvod do programování v R</b>
### Zimný semester 2021/2022 | Cvičenie 4 | St 01/12/21 

**************
**************


## <font color = "#880000"><b>IV. Štatistická analýza v R a reportovanie cez Sweave</b></font>

Program R (dostupný pod GNU GPL licenciou) je k dispozícii k stiahnutiu (free of charge) na adrese 

<a href = "https://www.r-project.org">https://www.r-project.org</a>

K dispozícii sú distribúcie s priamou podporou pre OS Windows, Linux aj Macintosh. 

Základnú  inštaláciu programu R je možné jednoducho rozšíriť pomocou dodatočných knižníc (balíčkov), ktoré 
sú k dispozícii v online repozitároch (zoznam hlavných repozitárov je na adrese <a href = "https://cran.r-project.org/mirrors.html">https://cran.r-project.org/mirrors.html</a>). Jednotlivé R knižnice sú tvorené samotnými užívateľmi softwaru R a ich správne 
fungovanie nie je garantované - je preto namieste určitá opatrnosť a hlavne aktívne premýšľanie pri ich používaní.

Pre užívateľov programu R sú k dispozícii aj rôzne grafické rozhrania, ktoré je po inštalácii umožňujú (v určitých smeroch)
jednoduchšiu a prehľadnejšiu prácu. Najznámejší a pravdepodobne aj jeden z najlepších R interface je <a href = "https://www.rstudio.com">RStudio</a>.<br><br>

<b>Užitočné materiály pre prácu so štatistickým softwarom <i>R</i></b><br>
		
<ul>
<li>Bína, V., Komárek, A. a Komárková, L.: <i>Jak na jazyk R.</i>  (<a href = "Rmanual2.pdf">PDF súbor</a>)</li>
<li>Komárek, A.: <i>Základy práce s R.</i>  (<a href = "Rmanual1.pdf">PDF súbor</a>)</li>
<li>Kulich, M.: <i>Stručný úvod do R.</i> (<a href = "uvodr.pdf" >PDF súbor</a>)</li>
<li>Scott, T.: <i>An Introduction to R</i> (<a href = "RLectureTScott.pdf" >PDF súbor</a>)</li>
<li>De Vries, A. a Meys, J.: <i>R for Dummies.</i> (ISBN-13: 978-1119055808) </li>		
</ul>

<br>


Cieľom tohto semináru je naučiť sa niektore základy vhodné pre reportovanie výsledkov štatistickej analýzy
pomocou R knižnice Sweave. Táto knižnica umožnuje vzájomne prepojenie programov R a <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span>.<br>

Čo sa týka samotného programu <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span>-u, tomu je na MFF venovaný samostatný seminár. 
Užitočné informácie je možné násť aj v nasledujúcich dokumentoch, alebo na internete.


<br>
<b>Užitočné materiály pre prácu s <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span>-om</b><br>

<ul>
<li><b>Tobias Oetiker a kol.:</b> <i>Ne příliš stručný úvod do systému <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> 2ε.</i> <a href = "http://www.karlin.mff.cuni.cz/~maciak/NMSA230/latex-short.pdf">(PDF súbor)</a></li>

<li><b>Kolektív AF UPOL:</b> <i>Drsný úvod do <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span>-u.</i>  <a href = "http://apfyz.upol.cz/ucebnice/down/mini/drslat.pdf">(PDF súbor)</a></li>

<li><b>Warbrick, J.:</b> <i>Essential <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> ++</i>  <a href = "http://www.stat.pitt.edu/stoffer/freetex/latex%20basics.pdf">(PDF súbor)</a><br><br></li>

<li><b>Olšák, P.:</b> <i>Typografický systém <span class="latex">T<sub>e</sub>X</span></b>, Konvoj, 1995.</li>

<li><b>Knuth, D.:</b> <i>Computer and Typesetting Series</i>, Vol. A: The TeX Book, Addison Wesley, 1986.</li>

<li><b>Knuth, D.:</b> </i>Computer and Typesetting Series</i>, Vol. B: TeX The Program, Addison Wesley, 1986.</li>		
</ul>


**************
**************

### <font color = "#880000"><b>1. Štatistická analýza v programe R</b></font>

Na začiatku každej štatistickej analýzy je vždy nejaký konkrétny datový súbor a s ním spojená základná (výzkumná/vedecká) otázka, na ktorú sa pomocou dat a ich analýzy snažíme najsť 
odpoveď. Každá štatistická analýza konkrétneho datového súboru vyžaduje niekoľko na seba naväzujích krokov. Celkovým výsledkom týchto niekoľkých krokov je potom formulácia odpovede na predom kladenú otázku, 
resp. dokument, ktorý výsledky analýzy dostatočne podrobne popisuje, podáva plnohodnotnú odpoveď na kladenú otázku a jednotlivé časti náležite interpretuje spôsobom, ktorý je zrozumiteľný a pochopiteľný aj pre neodborníka - nematematika/neštatistika. <br>

Celkový proces štatistickej analýzy sa dá rozdeliť do niekoľkých samostatných krokov: 

<ul>
<li><b>Príprava datového súboru</b> - je viacmenej nereálne očakávať, že datový súbor, ktorý dostane štatistík k spracovaniu, je ideálne koncipovaný, bez zásadných chýb, preklepov a nedostatkov, resp. jednotlivé hodnoty v datach budú vždy korektne a konzistentne implementované. Tieto nedostatky je nutné najprv analyzovať a v prípade potreby ich opraviť. Samotné opravy a akékoľvek zásahy do datového súboru musia byť korektne zaznamenané, spätne vystopovateľne a v prípade nutnosti taktiež plnohodnotne reprodukovateľné. Výsledkom prvého kroku je datový súbor, ktorý je vhodne pripravený k následnej štatistickej analýze (od správneho formátu nutného k načítaniu softwarom, až po vhodnú reprezentáciu jednotlivých pozorovaní a premenných). </li><br>

<li><b>Exploratorná analýza</b> - jedná sa o prvý krok štatistickej analýzy dát, ktorý ale výchádza výhradne z popisných (výberových) charakteristík spočítaných z pozorovaní, ktoré sú k dispozícii. Súčasťou exploratívnej analýzy sú textové, tabuľkové, aj grafiké výstupy, ktoré sa vzájomne logicky dopĺňajú a poskytujú ucelený prehľad o vnútornej štruktúre datového súboru, resp. časti relevantnej pre kladenú otázku. Exploratívna analýza  nevýchádza z komplexných pravdepodobnostných/štatistických modelov, ale mala by poskytovať informáciu nutnú pre následne rozhodnutie sa ohľadom modelu, ktorý bude následne korektne aplikovaný v ďalšom kroku.</li><br>

<li><b>Štatistická analýza</b> - v určitom zmysle sa jedná o najpodstatnejší krok, ktorý ale nie je možné uskutočniť korektne, ak nebol vhodne pripravený datový súbor v prvom kroku a ak nemáme dostatočný prehľad o datách a ich vnútornej štruktúre, získaný z exploratívnej analýzy v druhom kroku. Štatistická analýza sa opiera o rôzne pravdepodobnostné a štatistické  modely (napr. rôzne pravdepodobnostné rozdelenia, testy hypotéz, regresné modely, a pod.).</li><br>

<li><b>Záverečný report a interpretácia výsledkov</b> - pre samotného zadávateľa/zákazníka je najpodstatnejšia práve posledná, štvrtá časť, z ktorej sa dozvie odpoveď na otázku položenú v úvode. Jedná sa o reportovanie získaných štatistických výsledkov a ich interpretáciu. Súčasťou je väčšinou aj popis metodológie a celkového postupu pri analýze dat. Idealne je spracovanie v písomnej forme. Popis použitej metodológie musí byť dostatočne podrobný a presný a mal by poskytovať ucelenú informáciu o celkovom experimente, podkladových datach aj ich analýze. V  prípade potreby by malo byť možne pomocou tohto popisu experiment a analýzu dat plnohodnotne zreplikovať. 
Oproti tomu popis výsledkov a ich interpretácia musí byť zmysluplná aj pre človeka, ktorý nie je odborníkom v štatistike/matematike a vhodne by mala byť doplnená o podstatné grafy a obrázky, ktoré použitý model vizualizujú a pomáhajú celkovému pochopeniu. V prípade vypracovania štatistickej analýzy v programe R je ideálnym kandidátom na vytvorenie reportu <span class="latex">T<sub>e</sub>X</span>. V programe R  existuje knižnica (Sweave), ktorá umožnuje priame prepojenie Rka a <span class="latex">T<sub>e</sub>X</span>-u (viď niekoľko príkladov nižšie).  </li>
</ul>

<br><br>

V nasledujúcej časti budeme uvažovať data z konrétneho experimentu, ktorý sa uskutočnil na CZU v Prahe. Data, resp. datové súbory sú vo formáte, ako ich pripravili na CZU. Cieľom je data spracovať a pripraviť k analýze - zameriame sa pouze na exploratívnu časť. Niektoré zistenia a výsledky budeme následne pomocou knižnice Sweave a <span class="latex">T<sub>e</sub>X</span>-u reportovať priamo do výsledného PDF dokumentu. 

<hr size="3" width="100%" noshade style="color:#440000" align="left" /  >


#### Príklad 1 | pohybová aktivita a stres u sumcov 

Ako názorný a pomerné jedoduchý príklad (jednoduchý hlavne z hľadiska nutnej prípravy dat) poslúži experiment, ktorý bol navrhnutý k zisťovaniu pohybovej aktivity a agresivity sumca v závislosti na jeho zafarbení, hladine stresových hormónov a krvného rozboru. Potrebné data sú postupne uložené v troch datových súboroch, ktoré je potrebné načítať samostatne: 

```{r}
agresivita <- read.csv("http://www.karlin.mff.cuni.cz/~maciak/NMSA230/agresivita.csv", header=T, sep = " ", dec = ".", stringsAsFactors = TRUE)

stres <- read.csv("http://www.karlin.mff.cuni.cz/~maciak/NMSA230/stresoveHormony.csv", header=T, sep = " ", dec = ".", stringsAsFactors = TRUE)

krv <- read.csv("http://www.karlin.mff.cuni.cz/~maciak/NMSA230/krvneTesty.csv", header=T, sep = " ", dec = ".", stringsAsFactors = TRUE)
```


Zaujíma nás hlavne celková pohybová aktivita z hľadiska súčtu niektorých konkrétnych premenných a to hlavne v štyroch segmentoch dňa, konkrétne (napr. priemerná)
aktivita v čase medzi 0:00 až 6:00, potom 6:00 až 12:00, 12:00 až 18:00 a nakoniec segment 18:00 až 24:00. Informácia o čase je ale v jednotlivých datových súboroch zaznamenaná rôzne. 

V prvom rade budeme sledovať aktivitu formou binárnej premennej (došlo k nejakej agresívnej aktivite, alebo nedošlo). Za agresívnu aktivitu budeme považovať napr. kusnutie iného jedinca (bitting), naháňanie iného jedinca (chasing), útok z boku (lateral) a útok z predu (frontal). 

```{r}
agresivita$total <- agresivita$A_biting + agresivita$A_chasing + agresivita$A_latdsipl + agresivita$A_frontdispl

agresivita$total01 <- agresivita$total
agresivita$total01[agresivita$total > 1] <- 1
```

Následne je potrebné zmeniť čas zaznamenaný v jednotlivých datových säboroch tak, aby bol priamo porovnateľný medzi súbormi.

```{r}
agresivita$cas3 <- sapply(strsplit(as.character(agresivita$cas2),":"),
       function(x) {
         x <- as.numeric(x)
         if (length(x) == 2){return(x[1]+x[2]/60)}
         if (length(x) == 3){x[1]+x[2]/60 + x[3]/3600}
       }
)

krv$cas2 <- sapply(strsplit(as.character(krv$cas),":"),
                   function(x) {
                     x <- as.numeric(x)
                     if (length(x) == 2){return(x[1]+x[2]/60)}
                     if (length(x) == 3){x[1]+x[2]/60 + x[3]/3600}
                   }
)
```

Následne môžeme informáciu o čase segmentovať podla požadovaných segmentov vrámci daného dňa.

```{r}
agresivita$segment <-1*(agresivita$cas3 > 0 & agresivita$cas3 <=6) + 2*(agresivita$cas3 > 6 & agresivita$cas3 <= 12)  + 3*(agresivita$cas3 > 12 & agresivita$cas3 <= 18) + 4*(agresivita$cas3 > 18 & agresivita$cas3 <=24)

stres$segment <- 1*(stres$cas == "0:00" | stres$cas == "4:00") + 2 * (stres$cas == "6:50" | stres$cas == "8:00") + 3 * (stres$cas == "12:00" | stres$cas == "16:00") + 4 * (stres$cas == "18:50" | stres$cas == "20:00")

krv$segment <- 1*(krv$cas== "0:00" | krv$cas == "4:00") + 2 * (krv$cas == "6:50" | krv$cas == "8:00") + 3 * (krv$cas == "12:00" | krv$cas == "16:00") + 4 * (krv$cas == "18:50" | krv$cas == "20:00")
```

S takto upravenými datovými súbormi sa už da rozumne pracovať a dokážeme dokonca získať úrčitu grafickú vizualizáciu štruktúry v datach. 
Zameriame sa pouze na tri pohybové aktivity (zdroj, pokus a total) a pouze tri stresové ukazovatele (SOD v nameraný v ziabrach, SOD zaznamenaný v mozgu a CAT zaznamenaný opäť v žiabrach).

```{r, fig.width = 12, fig.height = 10}
vars <- c("zdroj.W_L", "W_L_pokus", "total")
varStress <- c("SODzabra", "SODmozek", "CATzabra")

par(mfrow = c(3,3))

for (c1 in vars){
  for (c2 in varStress){

  par(mar = c(5, 4, 4, 4) + 0.3)
  plot(jitter(agresivita[,c1]) ~ I(jitter(agresivita[,"segment"], factor = 0.5) - 0.1), data = agresivita, pch = 21, bg = "lightblue",  cex = 0.8, xlim = c(0.5, 4.5), xlab = "Time segments", ylab = "")
  
  Means <- aggregate(agresivita[,c1], by = list(Segment = agresivita$segment), mean)[,2]
  
  lines(Means ~ c(1,2,3,4), col = "blue", lwd = 2)
  
  mtext(c1 ,side=2,line=3, col = "black")
  axis(2,col="black",col.axis="black")
  
  par(new=TRUE)
  
  Means2 <- aggregate(stres[,c2], by = list(Segment = stres$segment), mean)[,2]
  
  plot(Means2 ~ c(1,2,3,4), axes = FALSE, bty = "n", xlab = "", ylab = "", type = "l", col ="red", ylim = c(min(Means2), max(Means2)), lwd = 2)
  
  axis(4,col="red" ,col.axis= "red")
  mtext(c2,side=4,line=3, col = "red")
}}
```

<br><br>

#### <font color = "#880000">Samostatne</font>
<hr size="3" width="100%" noshade style="color:#440000" align="left" />
Použijte uvedené datové súbory a pokúste sa o nasledujúce: 

<ul>
<li>Spočítajte niektoré ďalšie popisné charakteristiky, ktoré bude možne využiť následnému získaniu informácie a vzájomnej súvislosti medzi pohybovou aktivitou sumca a jeho stresovými a krvnými testami. </li>

<li>Spočítané popisné charakteristiky vhodne doplňte obrázkami - vizualizujte hlavne faktory, ktoré pomôžu zodpovedať otázku, 
či agresivita sumcov závisí na ich sfarbení, stresových enzýmoch a jednotlivých hodnotách krvných testov.</li>

<li>Pokúste sa vlastnými slovami výsledky exploratívnej analýzy interpretovať a vyjadriť svoje očakávania, ako by mohla vyzerať, resp. dopadnǔť štatistické analýza - teda aplikácia nejakého konkrétneho pravdepodobnostného/štatistického modelu. </li>


</ul>

<br><br>

#### <font color = "#880000">Užitočné</font>
<hr size="3" width="100%" noshade style="color:#440000" align="left" />


<ul>
<li>V prípade, že používate pre zápis český, alebo slovenský text (tzn. znaky s diakritikou), je dôležité vedieť, 
že program R defaultne nevyexportuje obrázky (pomocou príkazu `pdf()`) do PDF s tzv. embedovanými fontami (embedded fonts). To môže mať za následok nesprávne vykreslenie obrázkov a hlavne príslušných popiskov. </li>

<li>Jedna z možnosti, ako pomocou programu R vyexportovať obrázky tak, aby boli fonty embedované, je použiť príkaz `cairo_pdf()`.</li>

<li>Viac informácii je možné nájsť napr. na tejto stránke:<br><a href = "https://hansjoerg.me/2018/02/15/font-embedding-for-latex-and-r-users/">https://hansjoerg.me/2018/02/15/font-embedding-for-latex-and-r-users/</a> </li>


</ul>



<hr size="3" width="100%" noshade style="color:#440000" align="left" /  >
<br><br>





### <font color = "#880000"><b>2. Reportovanie pomocou R knižnice Sweave </b></font>

Sweave je balíček pre štatistický program R, ktorý umožňuje integráciu Rkového kódu priamo v <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span>-ovom kóde. Umožňuje tak vytvárať dynamické reporty, ktoré je možne jednoducho a priamočiaro updatovať v prípade, že dôjde k zmene 
v Rkových výpočtoch, alebo podkladovom datovom súbore. 

Jednoduchý návod na používanie Sweave je na webovej stránke 

<a href = "https://support.rstudio.com/hc/en-us/articles/200552056-Using-Sweave-and-knitr"> https://support.rstudio.com/ </a>

Povedane stručne a veľmi jednoducho, `Sweave` je knižnica a tiež funkcia v programe R (teda `Sweave()`), ktorá integruje Rko a LaTeX. 


Základom je vytvorenie klasického `tex` súboru, ktorý je ale uložený (predbežne, kým ho program R zkompiluje) vo formáte `*.Rnw`. 

Do tohto suboru je  možné okrem štandardného tex kódu vkládať aj vhodne označený Rkový kód. Následne volaním funkcie `Sweave("nazov_suboru.Rnw")` program R zkompiluje celý dokument, Rkový kód vyhodnotí a na dané miesto doplní výsledok získaný spracovaním daného Rkového kódu.

 Podkladový <i>tex</i> kód   R program ignoruje a výstupom je   `*.tex` súbor, s ktorým  je ďalej možné pracovať ako s klasickými `tex` súborom. 

V prípade, že použijeme k práci user-friendly interface (asi jedna z najlepších možnosti je `RStudio`)

<a href = "https://www.rstudio.com"> https://www.rstudio.com </a>

tak je možné okamžite vytvárať PDF  súbory priamo z `Rnw`  súborov a to pouze stlačením príslučného tlačítka v menu RStudia (program R a <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> prebehnú na pozadí a výsledkom bude finálny PDF report).

Podrobnejší návod na prácu so Sweave napr. tu: 

<a href = "http://gosset.wharton.upenn.edu/teaching/471/EPFL-Sweave-powerdot.pdf">http://gosset.wharton.upenn.edu/</a>

alebo v klasickom helpe: ´


<pre class="r">
help("Sweave", package="utils")
</pre>

<br><br>

<ul>
<li>Pre ilustráciu, ako vkládať Rkový kód do `Rnw` súboru, slúži táto malá ukážka:<br>
<a href = "sweave_test.Rnw"> Download Rnw súbor</a> (Sweave | UTF 8 kódovanie) a výsledný PDF súbor <a href = "sweave_test.pdf"> Download PDF súbor</a><br> 
Následná kompilácia a teda aj automatické vytvorenie finálneho PDF súboru sa dosiahne pomocou stlačenia tlačítka `Compile PDF` (v interface RStudio) - viď 
obrázok nižšie.

<center>
<img src = "rnw.png" width = "900">
</center>
</li>
</ul>
<br><br>



#### <font color = "#880000">Samostatne</font>
<hr size="3" width="100%" noshade style="color:#440000" align="left" />
<ul>
<li>Stiahnite si podkladový Rnw súbor a otvorte ho v programe RStudio. Súbor najrpv zkompilujte 
(pomocou tlačítka `Compile PDF` v menu) a následne súbor doplňte o vlastnú čast R-kového aj <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span>-ového zdrojového kódu. </li>

<li>Pridajte aspoň jeden obrázok a jednu tabuľku (s príslušnym popiskom tak, aby bolo možné sa na obrázok a tabuľku v texte následne odkazovať) a finálny Rnw súbor opäť skompilujte a vytvorte výsledný PDF súbor.</li>

<li>Podívajte sa na podkladovú tex súbor, ktorý vznikol použitim príkazu `Sweave()` z R knižnice Sweave.</li>
</ul>
<hr size="3" width="100%" noshade style="color:#440000" align="left" /  >
<br><br>


### <font color = "#880000"><b>3. R to <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span></b></font>
Niekedy je užitočné nevytvárať pomocou programu R celý zdrojový kód pre <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span>, 
ale vytvoriť pouze určitú menšiu časť (napr. tabuľky), ktorú do <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span>-ového zdrojového 
kódu pouze prídáme pomocou príkazu `\input{}`. <br><br>

V programe R existuje celá řada rôznych balíčkov, ktoré umožňuju vytvárať tabuľky, časti textu, prípadne celé PDF subory. Väčšinou sú 
ale v niečom vždy príliš obmedzujúce a ponúkaju len určitú škálu možných nastavení a adaptácii, ktoré nemusia vždy stačiť, prípadne vyhovovať 
naším požiadavkám. <br><br>

V takom prípade je výhodne naučiť sa pracovať s R-kovou funkciou `cat()`, ktorá dokáže (okrem mnohých iných vecí) vytvoriť
aj podkladový <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span>-ový súbor (`tex` súbor) priamo ušitý na mieru, presne podľa naších preferencii.<br><br>

Konkrétne fungovanie a spôsob implementácie zistite pomocou helpu: 

```{r, eval = F}
?cat
```

Nasledujúci R-kový kod vyprodukuje <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span>-ový súbor (`tex` súbor) <a href = "tabulka.tex">tabulka.tex</a>, ktorý následne môžeme vložiť do <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span>-ového zdrojového súboru. 

```{r, eval = F}
agresivita$cas2 <- as.numeric(agresivita$cas2)

f <- function(x, d = 2){### stejny pocet 'd' desetinnych mist
  return(format(round(x, d), nsmall = d))
}

cat("\\begin{tabular}{lcccc}\n", file = "tabulka.tex", append = F)
cat("\\hline\n", file = "tabulka.tex", append = T)
 
cat("& \\textbf{00:00 - 06:00} & \\textbf{06:00 -- 12:00} &  \\textbf{12:00 -- 18:00} &  \\textbf{18:00 -- 24:00}\\\\\n", file = "tabulka.tex", append = T) 
cat("\\hline\n", file = "tabulka.tex", append = T)

cat(paste("Pohryzenie & ", f(mean(agresivita$A_biting[agresivita$cas3 >= 0 & agresivita$cas3 < 6]), 3), " {\\it(", f(sd(agresivita$A_biting[agresivita$cas3 >= 0 & agresivita$cas3 < 6]), 2), ")} &" ,
                           f(mean(agresivita$A_biting[agresivita$cas3 >= 6 & agresivita$cas3 < 12]), 3), " {\\it(", f(sd(agresivita$A_biting[agresivita$cas3 >= 6 & agresivita$cas3 < 12]), 2), ")} &" ,
                          f(mean(agresivita$A_biting[agresivita$cas3 >= 12 & agresivita$cas3 < 18]), 3), " {\\it(", f(sd(agresivita$A_biting[agresivita$cas3 >= 12 & agresivita$cas3 < 18]), 2), ")} &" ,
                          f(mean(agresivita$A_biting[agresivita$cas3 >= 18 & agresivita$cas3 < 24]), 3), " {\\it(", f(sd(agresivita$A_biting[agresivita$cas3 >= 18 & agresivita$cas3 < 24]), 2), ")} \\\\\n", sep = "") , file = "tabulka.tex", append = T)
    
    cat(paste("Naháňanie & ", f(mean(agresivita$A_chasing[agresivita$cas3 >= 0 & agresivita$cas3 < 6]), 3), " {\\it(", f(sd(agresivita$A_chasing[agresivita$cas3 >= 0 & agresivita$cas3 < 6]), 2), ")} &" ,
                           f(mean(agresivita$A_chasing[agresivita$cas3 >= 6 & agresivita$cas3 < 12]), 3), " {\\it(", f(sd(agresivita$A_chasing[agresivita$cas3 >= 6 & agresivita$cas3 < 12]), 2), ")} &" ,
                          f(mean(agresivita$A_chasing[agresivita$cas3 >= 12 & agresivita$cas3 < 18]), 3), " {\\it(", f(sd(agresivita$A_chasing[agresivita$cas3 >= 12 & agresivita$cas3 < 18]), 2), ")} &" ,
                          f(mean(agresivita$A_chasing[agresivita$cas3 >= 18 & agresivita$cas3 < 24]), 3), " {\\it(", f(sd(agresivita$A_chasing[agresivita$cas3 >= 18 & agresivita$cas3 < 24]), 2), ")} \\\\\n", sep = "") , file = "tabulka.tex", append = T)
        
        cat(paste("Bočný útok & ", f(mean(agresivita$A_latdsipl[agresivita$cas3 >= 0 & agresivita$cas3 < 6]), 2), " {\\it(", f(sd(agresivita$A_latdsipl[agresivita$cas3 >= 0 & agresivita$cas3 < 6]), 2), ")} &" ,
                           f(mean(agresivita$A_latdsipl[agresivita$cas3 >= 6 & agresivita$cas3 < 12]), 2), " {\\it(", f(sd(agresivita$A_latdsipl[agresivita$cas3 >= 6 & agresivita$cas3 < 12]), 2), ")} &" ,
                          f(mean(agresivita$A_latdsipl[agresivita$cas3 >= 12 & agresivita$cas3 < 18]), 2), " {\\it(", f(sd(agresivita$A_latdsipl[agresivita$cas3 >= 12 & agresivita$cas3 < 18]), 2), ")} &" ,
                          f(mean(agresivita$A_latdsipl[agresivita$cas3 >= 18 & agresivita$cas3 < 24]), 2), " {\\it(", f(sd(agresivita$A_latdsipl[agresivita$cas3 >= 18 & agresivita$cas3 < 24]), 2), ")} \\\\\n", sep = "") , file = "tabulka.tex", append = T)
            
        cat(paste("Čelný útok & ", f(mean(agresivita$A_frontdispl[agresivita$cas2 >= 0 & agresivita$cas3 < 6]), 2), " {\\it(", f(sd(agresivita$A_frontdispl[agresivita$cas3 >= 0 & agresivita$cas3 < 6]), 2), ")} &" ,
                           f(mean(agresivita$A_frontdispl[agresivita$cas2 >= 6 & agresivita$cas3 < 12]), 2), " {\\it(", f(sd(agresivita$A_frontdispl[agresivita$cas3 >= 6 & agresivita$cas3 < 12]), 2), ")} &" ,
                          f(mean(agresivita$A_frontdispl[agresivita$cas2 >= 12 & agresivita$cas3 < 18]), 2), " {\\it(", f(sd(agresivita$A_frontdispl[agresivita$cas3 >= 12 & agresivita$cas3 < 18]), 2), ")} &" ,
                          f(mean(agresivita$A_frontdispl[agresivita$cas2 >= 18 & agresivita$cas3 < 24]), 2), " {\\it(", f(sd(agresivita$A_frontdispl[agresivita$cas3 >= 18 & agresivita$cas3 < 24]), 2), ")} \\\\", sep = "") , file = "tabulka.tex", append = T)

cat("\\hline\n", file = "tabulka.tex", append = T)
cat("\\end{tabular}\n", file = "tabulka.tex", append = T)
```

<br>

#### <font color = "#880000">Samostatne</font>
<hr size="3" width="100%" noshade style="color:#440000" align="left" />
Použijte R-kovú funkciu `cat()`. a pomocou nej vytvorte jednoduchu tabuľku (súbor `tabulka.tex`), ktorá bude obsahovať 
základné popisné charakteristiky k nejakému vhodne zvolenému dátovému súboru (napr. ten, ktorý ste si na začiatku semestra zvolili). <br><br>

Pre správne fungovanie príkazu `cat()` je nutné zvoliť hodnotu dodatočného parametru ako `append = T`. Vyskúšajte, ako by fungoval príkaz bez tohto dodatočného parametru (resp. s jeho defaultným nastavením `append = FALSE`). 
<hr size="3" width="100%" noshade style="color:#440000" align="left" /  >
<br><br>




## <font color = "#880000"><b>Domáca úloha</b></font>
### (Deadline: 5. cvičenie | St: 15.12.2021)
 
<ul>
<li>Pomocou knižnice Sweave preneste popisné výberové charakteristiky, ktoré ste napočítali k Vášmu nagenerovanému datovému súboru 
do PDF reportu. Popisné charakteristiky doplňte obrázkami, ktoré ste vytvorili. Doplňte zmysluplný text (popis nagenerovaných dat), 
interpretáciu popisných charakteristík a obrázkov.</li>

<li>Výsledný <i>Rnw</i> súbor zkompilujte pomocou knižnice <i>Sweave</i> a vytvorte PDF dokument. </li>
</ul>

<br><br>

</td></tr></table>
<br><br><br><br><br>