rodrigosantosbr

R Markdown PDF Report Example

Aug 15th, 2019
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
R 6.03 KB | None | 0 0
  1. ---
  2. title: "Model Country"
  3. author: "Fulano de Tal"
  4. date: "`r format(Sys.Date(), '%d/%B/%Y')`"
  5. output:
  6.   pdf_document:
  7.     number_sections: TRUE
  8. header-includes:
  9. - \usepackage[fontsize=10pt]{scrextend}
  10. urlcolor: blue
  11. ---
  12.  
  13.  
  14. <!-- Pré-requisitos -->
  15. <!-- R -->
  16. <!-- RStudio -->
  17. <!-- Miktex - Gerar Latex -->
  18. <!-- Pandoc - Converter Latex para PDF ou HTML -->
  19.  
  20.  
  21. ```{r setup, include=FALSE}
  22. knitr::opts_chunk$set(echo = TRUE)
  23. library(devtools)
  24. library("mongolite")
  25. library(knitr)
  26. ```
  27.  
  28. ```{r locales, echo = F, eval = T, prompt = T, comments = '', message = F, warnings = ''}
  29. country_data <- mongo(collection = "country",
  30.                       db = "app_db",
  31.                       url = "mongodb://localhost")
  32. ```
  33.  
  34. # Países
  35.  
  36. Esta tabela armazena dados de países.
  37.  
  38. # Localização
  39.  
  40. models/organizationstructure/country.py
  41.  
  42. # Atributos
  43.  
  44. ```{r country_attr, echo=FALSE, message=FALSE, warnings=FALSE, results='asis'}
  45. require(pander)
  46. panderOptions('table.split.table', Inf)
  47. set.caption("Country Schema")
  48.  
  49. tbl_country_attr <- "#
  50. Atributo  | Tipo   | Descrição | Obrigatório | Único
  51. name_en   | String | nome do pais em ingles | Sim | Sim
  52. name_es   | String | nome do pais em espanhol | Sim | Sim
  53. name_fr   | String | nome do pais em frances | Sim | Sim
  54. name_ja   | String | nome do pais em japones | Sim | Sim
  55. name_it   | String | nome do pais em italiano | Sim | Sim
  56. name_pt   | String | nome do pais em portugues de Portugal | Sim | Sim
  57. name_br   | String | nome do pais em portugues do Brasil | Sim | Sim
  58. name_br_unaccent | String  | nome do pais em portugues do Brasil (sem acento) | Sim | Sim
  59. demonym   | String | gentilico | Não | Não
  60. alpha2_code   | String | código ISO Alpha-2 do pais | Sim | Sim
  61. alpha3_code   | String | código ISO Alpha-3 do pais | Sim | Sim
  62. estimated_population | String  | populacao estimada do pais | Não | Não
  63. area | Decimal | area estimada do pais | Não | Não
  64. flag | String | url da bandeira do pais | Não | Não
  65. capital | String | nome da capital do pais | Não | Não
  66. calling_code | String | codigo de chamada do pais | Não | Não
  67. website | String | url do website do governo do pais | Não | Não
  68. slug | String | slug | Sim | Sim
  69. "
  70.  
  71. df <- read.delim(textConnection(tbl_country_attr),
  72.                  header=FALSE,
  73.                  sep="|",
  74.                  strip.white=TRUE,
  75.                  stringsAsFactors=FALSE)
  76. names(df) <- unname(as.list(df[1,])) # put headers on
  77. df <- df[-1,] # remove first row
  78. row.names(df)<-NULL
  79. pander(df, style = 'rmarkdown')
  80. ```
  81.  
  82. \newpage
  83.  
  84. # Métodos
  85.  
  86.  
  87. ```{r country_meth, echo=FALSE, message=FALSE, warnings=FALSE, results='asis'}
  88. set.caption("Country Schema")
  89.  
  90. tbl_country_methods <- "#
  91. Método  | Tipo | Descrição
  92. \\_\\_repr\\_\\_(self) | comum | representa um objeto como uma string no console python
  93. \\_\\_str\\_\\_(self) | comum | representa um objeto como uma string na função print
  94. save(self, \\*args, \\*\\*kwargs) | comum | executado ao salvar o objeto
  95. nome_en(self) | hybrid_property | Retorna o conteúdo do atributo {name_en}
  96. nome_en(self, value) | setter | Seta um conteúdo do atributo {name_en}, sem espaços e maiúscula
  97. nome_es(self) | hybrid_property | Retorna o conteúdo do atributo {name_es}
  98. nome_es(self, value) | setter | Seta um conteúdo do atributo {name_es}, sem espaços e maiúscula
  99. nome_fr(self) | hybrid_property | Retorna o conteúdo do atributo {name_fr}
  100. nome_fr(self, value) | setter | Seta um conteúdo do atributo {name_fr}, sem espaços e maiúscula
  101. nome_ja(self) | hybrid_property | Retorna o conteúdo do atributo {name_ja}
  102. nome_ja(self, value) | setter | Seta um conteúdo do atributo {name_ja}, sem espaços e maiúscula
  103. nome_it(self) | hybrid_property | Retorna o conteúdo do atributo {name_it}
  104. nome_it(self, value) | setter | Seta um conteúdo do atributo {name_it}, sem espaços e maiúscula
  105. nome_pt(self) | hybrid_property | Retorna o conteúdo do atributo {name_pt}
  106. nome_pt(self, value) | setter | Seta um conteúdo do atributo {name_pt}, sem espaços e maiúscula
  107. nome_br(self) | hybrid_property | Retorna o conteúdo do atributo {name_br}
  108. nome_br(self, value) | setter | Seta um conteúdo do atributo {name_br}, sem espaços e maiúscula
  109. nome_br_unaccent(self) | hybrid_property | Retorna o conteúdo do atributo {name_br}
  110. nome_br_unaccent(self) | setter | Seta o conteúdo do atributo {name_br} no atributo {name_br_unaccent}, sem espaços e maiúscula
  111. drop_table() | staticmethod | Apaga o conteúdo da tabela
  112. "
  113.  
  114. df <- read.delim(textConnection(tbl_country_methods),
  115.                  header=FALSE,
  116.                  sep="|",
  117.                  strip.white=TRUE,
  118.                  stringsAsFactors=FALSE)
  119. names(df) <- unname(as.list(df[1,])) # put headers on
  120. df <- df[-1,] # remove first row
  121. row.names(df)<-NULL
  122. pander(df, style = 'rmarkdown')
  123. ```
  124.  
  125. \newpage
  126.  
  127. # Exemplos de Busca em MQL / MongoDB
  128.  
  129. Usar as queries em Robo3T
  130.  
  131. [Clique aqui pra acessar a URL do Robo3T](https://robomongo.org)
  132.  
  133. ## Obter todos os dados
  134.  
  135. ```
  136. db.getCollection('country').find({})
  137. ```
  138.  
  139. ## Obter os primeiros 5 registros
  140.  
  141. ```
  142. db.getCollection('country').find({}).limit(5)
  143. ```
  144.  
  145. ## Obter as colunas {name_br} e {name_br_unaccent} de todos os registros
  146.  
  147. ```
  148. db.getCollection('country').find({},{"name_br" : 1, "name_br_unaccent" : 1})
  149. ```
  150.  
  151. ## Obter os dados do registro BRASIL
  152.  
  153. ```
  154. db.getCollection('country').find({"name_br_unaccent": "BRASIL" })
  155. ```
  156.  
  157.  
  158. \newpage
  159.  
  160. # Quantidade de registros na tabela
  161.  
  162. ```{r qry_country_count, echo = F, eval = T, prompt = T, comments = '', message = F, warnings = ''}
  163. # count data
  164. country_count <- country_data$count(
  165.   query='{}'
  166. )
  167. ```
  168.  
  169. Na data **`r format(Sys.Date(), '%d/%B/%Y')`** há um total de **`r country_count`** países.
  170.  
  171. # Listagem de registros da tabela
  172.  
  173. ```{r qry_country_all, echo = F, eval = T, prompt = T, comments = '', message = F, warnings = ''}
  174. country_all <- country_data$find(
  175.   query='{}',
  176.   fields = '{"_id" : true, "name_br" : true, "updated_at": true}',
  177.   limit=0
  178. )
  179. ```
  180.  
  181. ```{r echo=FALSE, results='asis'}
  182. knitr::kable(country_all)
  183. ```
Add Comment
Please, Sign In to add comment