--- title: \vspace{6.5cm} Možnosti Markdown subtitle: Fakultní nemocnice Ostrava author: \vspace{5.5cm} Lubomír Pavliska geometry: "left=2cm,right=2cm,top=2cm,bottom=2cm" date: \vspace{8.5cm} `r Sys.Date()` output: pdf_document: df_print: kable highlight: tango keep_tex: yes # pozice obrázku latex_engine: pdflatex toc: true toc_depth: 4 number_sections: true fig_caption: yes word_document: default lang: "cs-CZ" documentclass: article bibliography: Reference.bib link-citations: true header-includes: - \usepackage{caption} # popisy obrátků a tabulek - \usepackage[utf8]{inputenc} - \linespread{1.25} - \usepackage{makeidx} - \makeindex - \usepackage{float} # pozice obrázku - \floatplacement{figure}{H} # pozice obrázku --- ```{r global_options, include=FALSE} knitr::opts_chunk$set(fig.pos = 'H') # pozice obrázku GraphPath <- "Path/" ``` \newpage ```{r Loadovani_dat,echo=FALSE,message=FALSE,warning=FALSE} library(knitr) library(kableExtra) library(dplyr) library(formattable) library(ggplot2) dt <- mtcars[1:5, 1:6] ``` # R Markdown ## Účel prostředí Vytvářením dynamických dokumentů je završení jedinečných možností statistické analýzy dat prostředím R-project^c^[^1]. Může mít rozličné formy podle účelu prezentace výsledků. Od procesu výuky, tvorba přednášek a manuálů, přes prezentace výsledků ne konferencích až po náročné reporty, publikace a dokumentace výsledků projektů vědecké činnosti. Odkazy fungují i n dokumentu [_Příklady_](#Priklady) ## Ukázky možností Markdown Minimální ukázka možností **R-project** knihoven **markdown** a **knitr** pro vytvoření dokumentu v _HTML_ a _PDF_ pomocí nástrojů _RStudio_. [^1]: Open Source komponenty [@R-cookbook],[@R-knitr],[@R-statistics],[@R-graphics] zahrnuté v systému statistických knihoven [@R-project] ## Inicializace prostředí ```{r setup} # set global chunk options: images will be 7x5 inches knitr::opts_chunk$set(fig.width=7, fig.height=5) #options(digits = 4) #knitr::opts_chunk$set(dev = c('pdf','png'), # fig.align = 'center', fig.height = 8, fig.width = 7, #, # pdf.options(encoding = "CP1250")) ``` ## Příklady matematických výrazů a rovnic ### Psaní zlomků: `$\frac{2}{3}$` $$\frac{2}{3}$$ ### Matematické výrazy řeckou abecedou: `$\hat{\lambda}=1.02$` $$\hat{\lambda}=1.02$$ `$\sqrt{4}=2$` $$\sqrt{4}=2$$ `$\alpha, \beta, \gamma, \Gamma, \pi$` $$\alpha, \beta, \gamma, \Gamma, \pi$$ `$a \pm b$` $$a \pm b$$ `$x \ge 15$` $$x \ge 15$$ `$a_i \ge 0~~~\forall i$` $$a_i \ge 0~~~\forall i$$ ### Psaní matic `$A_{m,n} = \begin{pmatrix} a_{1,1} & a_{1,2} & \cdots & a_{1,n} \\ a_{2,1} & a_{2,2} & \cdots & a_{2,n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m,1} & a_{m,2} & \cdots & a_{m,n} \end{pmatrix}$` $$A_{m,n} = \begin{pmatrix} a_{1,1} & a_{1,2} & \cdots & a_{1,n} \\ a_{2,1} & a_{2,2} & \cdots & a_{2,n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m,1} & a_{m,2} & \cdots & a_{m,n} \end{pmatrix}$$ ## Něco ze statistiky ### Binomická pravděpodobnost: `$$f(y|N,p) = \frac{N!}{y!(N-y)!}\cdot p^y \cdot (1-p)^{N-y} = {{N}\choose{y}} \cdot p^y \cdot (1-p)^{N-y}$$` $$f(y|N,p) = \frac{N!}{y!(N-y)!}\cdot p^y \cdot (1-p)^{N-y} = {{N}\choose{y}} \cdot p^y \cdot (1-p)^{N-y}$$ Pro výpočet **průměru** z \textit{n} vzorků proměnné \textit{x}: `$$\bar{x} = \frac{1}{n} \sum_{i=1}^{n}x_{i}$$` $$\bar{x} = \frac{1}{n} \sum_{i=1}^{n}x_{i}$$ Rovnice a výrazy můžeme používat i v řádkovém režimu e.g., $\bar{x} = \frac{1}{n} \sum_{i=1}^{n}x_{i}$. ### Podobný případ pro rovnici **odchylky**. $\sigma^{2} = \frac{\sum\limits_{i=1}^{n} \left(x_{i} - \bar{x}\right)^{2}} {n-1}$. $$\sigma^{2} = \frac{\sum_{i=1}^{n} \left(x_{i} - \bar{x}\right)^{2}} {n-1}$$ Obdobně na rovnici **covariance** v _inline_ rovnice $cov_{x,y} = \frac{\sum\limits_{i=1}^{n}{(x_i-\overline{x}) \cdot (y_i-\overline{y})} }{n-1}$ nebo samostatně: $$cov_{x,y} = \frac{\sum\limits_{i=1}^{n}{(x_i-\overline{x}) \cdot (y_i-\overline{y})} }{n-1}$$ A konečně **standardní odchylka**. _inline_ verze $\sigma = \sqrt{\frac{\sum\limits_{i=1}^{n} \left(x_{i} - \bar{x}\right)^{2}} {n-1}}$ nebo samostatně. $$\sigma = \sqrt{\frac{\sum\limits_{i=1}^{n} \left(x_{i} - \bar{x}\right)^{2}} {n-1}}$$ ### Příklady {#Priklady} + [__"https://rpubs.com/marschmi/RMarkdown"__](https://rpubs.com/marschmi/RMarkdown) + [__"http://visualmatheditor.equatheque.net/VisualMathEditor.html"__](http://visualmatheditor.equatheque.net/VisualMathEditor.html) + [__"http://www.statpower.net/Content/310/R%20Stuff/SampleMarkdown.html"__](http://www.statpower.net/Content/310/R%20Stuff/SampleMarkdown.html). ### Referenční příručka + [__"https://www.rstudio.com/wp-content/uploads/2015/03/rmarkdown-reference.pdf"__](https://www.rstudio.com/wp-content/uploads/2015/03/rmarkdown-reference.pdf). \newpage # Kód R Graficky přizpůsobí kód a výsledek ovládaný přes __echo=TRUE__ syntaxe ``` {r echo=TRUE} kod v řádcích ``` ## Řádkové příkazy ```{r echo=TRUE} x=1 x = x + 12 print(x) x <- 1+1 # kalkulačka rnorm(5) # náhodná čísla ``` ## Příklad __ggplot__ Na obrázku obr.: \ref{fig:fig01} je znázorněna závislost tabulky __mtcars__. ```{r fig01,echo=FALSE, fig.align = "center", fig.cap="\\label{fig:fig01}Mcars", out.extra='',out.width='90%', out.height='\\textheight',fig.pos="H"} # Plot the relationship between weight and miles per gallon plot <- ggplot(mtcars, aes(x = wt, y = mpg)) + geom_point() + # geom_smooth(method = "lm") + theme_bw() + # add linear model and make black and white xlab("Weight (1000lbs)") + ylab("Miles per Gallon") # Add axis labels plot # Make the plot interactive ``` ## Tabulky ### Pozice velikost písma pozice #### Tabulka 1 ```{r tab1, echo=TRUE,results = 'asis'} kable(dt)%>% kable_styling(latex_options = c("striped", "hold_position")) ``` #### Tabulka 2 ```{r tab2, echo=TRUE,results = 'asis'} kable(dt) %>% kable_styling(latex_options = c("striped", "hold_position"),font_size = 7) ``` #### Tabulka 3 ```{r tab3, echo=TRUE,results = 'asis'} dt %>% knitr::kable("latex",escape = F,booktabs = T, caption = "Mtcars") %>% kable_styling(latex_options = c("striped", "hold_position")) ``` ### Nastavení barvy písma ```{r tab5, echo=TRUE,results = 'asis'} library(dplyr) options(knitr.table.format = "latex") mtcars[1:10, 1:2] %>% mutate( car = row.names(.), mpg = cell_spec(mpg, "latex", color = ifelse(mpg > 20, "red", "blue")), cyl = cell_spec(cyl, "latex", color = "white", align = "c", angle = 45, background = factor(cyl, c(4, 6, 8), c("#666666", "#999999", "#BBBBBB"))) ) %>% select(car, mpg, cyl) %>% kable(format = "latex", escape = F) %>% kable_styling(latex_options = c("striped", "hold_position"), full_width = F) ``` ### Pozadí písma ```{r tab6, echo=TRUE,results = 'asis'} iris[1:10, ] %>% mutate_if(is.numeric, function(x) { cell_spec(x, bold = T, color = spec_color(x, end = 0.9), font_size = spec_font_size(x)) }) %>% mutate(Species = cell_spec( Species, color = "white", bold = T, background = spec_color(1:10, end = 0.9, option = "A", direction = -1) )) %>% kable(escape = F, align = "c", caption = "Barevné pozadí") %>% kable_styling(latex_options = c("striped", "hold_position"), full_width = F) ``` ### Strukturované zobrazení ```{r tab80, echo=TRUE,results = 'asis'} kable(dt, "latex") %>% kable_styling(latex_options = c("striped", "hold_position")) %>% add_header_above(c(" " = 1, "Group 1" = 2, "Group 2" = 2, "Group 3" = 2)) ``` ```{r tab81, echo=TRUE,results = 'asis'} kable(dt, "latex") %>% kable_styling(c("striped", "bordered")) %>% add_header_above(c(" ", "Group 1" = 2, "Group 2" = 2, "Group 3" = 2)) %>% add_header_above(c(" ", "Group 4" = 4, "Group 5" = 2)) %>% add_header_above(c(" ", "Group 6" = 6)) ``` ```{r tab82, echo=TRUE,results = 'asis'} kable(mtcars[1:10, 1:6], caption = "Skupiny v řádcích a sloupcích") %>% kable_styling(latex_options = c("striped", "hold_position")) %>% add_header_above(c(" ", "Group 1" = 2, "Group 2" = 2, "Group 3" = 2)) %>% add_header_above(c(" ", "Group 4" = 4, "Group 5" = 2)) %>% add_header_above(c(" ", "Group 6" = 6)) %>% group_rows("Group 1", 4, 7) %>% group_rows("Group 2", 8, 10) ``` \clearpage \newpage #Přílohy \listoftables \listoffigures # Reference