Skip to content

Commit 6a86edf

Browse files
committed
adição do que faltava nos slides finais sobre a tarefa do modulo
1 parent ec2136d commit 6a86edf

File tree

8 files changed

+427
-430
lines changed

8 files changed

+427
-430
lines changed

R_tras_pra_Frente/Aula24_fim_flextable/Aula24_fim_flextable.qmd

+125-129
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ editor: source
3333

3434
### Aula 24 - Tabela
3535

36-
Mais sobre o pacote `flextable`: título e fontes
36+
Mais sobre o pacote `flextable`: mesclar células e condicionamento
3737

3838
## Leituras para aprofundamento
3939

@@ -56,7 +56,6 @@ knitr::opts_chunk$set("ft.shadow" = FALSE)
5656
# importando a base
5757
dados_covid <- import("https://covid19.who.int/WHO-COVID-19-global-data.csv", na.strings = "")
5858
59-
options(OutDec= ".")
6059
```
6160

6261
## Dados de Hoje
@@ -67,45 +66,42 @@ options(OutDec= ".")
6766

6867
```{r out.width="50%"}
6968
70-
paises <- c("Brazil", "Italy", "France", "Argentina")
69+
paises <- c("Brazil", "Italy", "France", "Uruguay")
7170
72-
letalidade_Brasil_Italia <- dados_covid %>%
71+
letalidade <- dados_covid %>%
7372
filter(Country %in% paises,
74-
New_cases>0,
75-
!is.na(New_cases)) %>%
73+
New_cases>0) %>%
7674
separate(Date_reported, c("Ano", "Mês", "Dia")) %>%
75+
filter(Ano=="2023"|Ano=="2022") %>%
7776
mutate(Country=case_when(
7877
Country=="Brazil" ~ "Brasil",
7978
Country=="Italy" ~ "Itália",
80-
Country=="France" ~ "França")) %>%
79+
Country=="France" ~ "França",
80+
Country=="Uruguay" ~ "Uruguai")) %>%
8181
mutate(letalidade_diaria = New_deaths/New_cases*100)%>%
82-
mutate(Continente = ifelse(Country=="Brazil"|Country=="Argentina",
82+
mutate(Continente = ifelse(Country=="Brasil"|Country=="Uruguai",
8383
"América do Sul", "Europa")) %>%
84-
group_by(Continente, Ano, Country) %>%
85-
summarise(letalidade_media = mean(letalidade_diaria,
86-
na.rm=T),
87-
desvio_padrao = sd(letalidade_diaria,
88-
na.rm=T ),
89-
Casos_maximo = max(New_cases,
90-
na.rm=T),
91-
Obitos_maximo = max(New_deaths,
92-
na.rm=T)) %>%
84+
group_by( Ano, Continente, Country) %>%
85+
summarise(letalidade_media = mean(letalidade_diaria),
86+
desvio_padrao = sd(letalidade_diaria ),
87+
Casos_maximo = max(New_cases),
88+
Obitos_maximo = max(New_deaths)) %>%
9389
ungroup() %>%
9490
mutate_if(is.numeric, ~format(., big.mark=".", decimal.mark=",", digits=2))
9591
9692
97-
letalidade_Brasil_Italia
93+
letalidade
9894
```
9995

10096
## flextable
10197

10298
```{r eval=F}
103-
flextable(letalidade_Brasil_Italia)
99+
flextable(letalidade)
104100
```
105101

106102
```{r include=FALSE}
107-
flextable( letalidade_Brasil_Italia) %>%
108-
save_as_image("../img/tab1.png")
103+
flextable( letalidade) %>%
104+
save_as_image("../../img/tab1.png")
109105
```
110106

111107
![](../img/tab1.png){fig-alt="Tab1" fig-align="center" width="150%"}
@@ -116,182 +112,182 @@ flextable( letalidade_Brasil_Italia) %>%
116112

117113
```{r eval=F}
118114
119-
tab1 <- flextable( letalidade_Brasil_Italia) %>%
115+
tab1 <- flextable( letalidade) %>%
120116
autofit() %>%
121117
align(align="r", part="all") %>%
122118
align(align="c", j=c(1,2), part="all") %>%
123119
bold(part="header") %>%
124120
bold(j=c(1,2)) %>%
125-
bg(bg="lightgrey", j=c(1,2), part="all") %>%
121+
bg(bg="lightgrey", j=1, part="all") %>%
122+
bg(bg="grey", j=c(2,3), part="all") %>%
126123
hline(i=c(2,4,6)) %>%
127-
vline(j=2)
124+
vline(j=c(1,2,3)) %>%
125+
set_header_labels(
126+
Country="País",
127+
letalidade_media="Letalidade Média Diária",
128+
desvio_padrao="Desvio Padrão",
129+
Casos_maximo="Máximo de casos em 24h",
130+
Obitos_maximo="Máximo de óbitos em 24h")
131+
128132
129133
tab1
130134
```
131135

132136
```{r include=FALSE }
133-
tab1 <- flextable( letalidade_Brasil_Italia) %>%
137+
tab1 <- flextable( letalidade) %>%
134138
autofit() %>%
135139
align(align="r", part="all") %>%
136140
align(align="c", j=c(1,2), part="all") %>%
137141
bold(part="header") %>%
138142
bold(j=c(1,2)) %>%
139-
bg(bg="lightgrey", j=c(1,2), part="all") %>%
143+
bg(bg="lightgrey", j=1, part="all") %>%
144+
bg(bg="grey", j=c(2,3), part="all") %>%
140145
hline(i=c(2,4,6)) %>%
141-
vline(j=2)
142-
143-
144-
tab1 %>% save_as_image("../img/tab2.png")
145-
```
146-
147-
![](../img/tab2.png){fig-alt="Tab2" fig-align="center" width="100%"}
148-
149-
## Título e cabeçalho
150-
151-
- set_header_labels()
152-
153-
. . .
154-
155-
```{r eval=F}
156-
157-
tab1 %>%
146+
vline(j=c(1,2,3)) %>%
158147
set_header_labels(
159148
Country="País",
160149
letalidade_media="Letalidade Média Diária",
161150
desvio_padrao="Desvio Padrão",
162151
Casos_maximo="Máximo de casos em 24h",
163152
Obitos_maximo="Máximo de óbitos em 24h")
164-
165153
154+
155+
tab1 %>% save_as_image("../img/tab2.png")
166156
```
167157

168-
```{r include=F}
169-
tab1 %>%
170-
set_header_labels(
171-
Country="País",
172-
letalidade_media="Letalidade Média Diária",
173-
desvio_padrao="Desvio Padrão",
174-
Casos_maximo="Máximo de casos em 24h",
175-
Obitos_maximo="Máximo de óbitos em 24h") %>%
176-
save_as_image("../img/tab4.png")
177-
```
178-
179-
![](../img/tab4.png){fig-alt="Tab4" fig-align="center" width="100%"}
180-
181-
- Quebrar a linha onde eu desejar: "\\n"
158+
![](../img/tab2.png){fig-alt="Tab2" fig-align="center" width="100%"}
182159

183-
. . .
160+
## Mesclando celulas
184161

185162
```{r eval=F}
186163
187164
tab2 <- tab1 %>%
188-
set_header_labels(
189-
Country="País",
190-
letalidade_media="Letalidade Média Diária",
191-
desvio_padrao="Desvio\n Padrão",
192-
Casos_maximo="Máximo de casos em 24h",
193-
Obitos_maximo="Máximo de óbitos em 24h")
194-
165+
merge_v(j=c(1,2))
166+
195167
tab2
196168
```
197169

198170
```{r include=F}
199-
tab2 <- tab1 %>%
200-
set_header_labels(
201-
Country="País",
202-
letalidade_media="Letalidade Média Diária",
203-
desvio_padrao="Desvio\n Padrão",
204-
Casos_maximo="Máximo de casos em 24h",
205-
Obitos_maximo="Máximo de óbitos em 24h")
206-
207-
tab2 %>% save_as_image("../img/tab5.png")
208171
172+
tab2 <- tab1 %>%
173+
merge_v(j=c(1,2)) %>%
174+
fix_border_issues(part="body")
209175
176+
tab1 %>% save_as_docx(path="../img/tab3.docx")
210177
```
211178

212-
![](../img/tab5.png){fig-alt="Tab4" fig-align="center" width="100%"}
179+
![](../img/tab3.png){fig-alt="Tab3" fig-align="center" width="100%"}
213180

214-
## Cabeçalho Extra
181+
- Procure sobre a função fix_border_issues()
215182

216-
- add_header_row()
217-
218-
. . .
183+
## Coloração condicional
219184

220185
```{r eval=F}
221186
tab3 <- tab2 %>%
222-
add_header_row(values = c("Tempo/Lugar", "Indicadores"),
223-
colwidths = c(2,5))
187+
bg(i = ~ Country =="Brasil" , # nome da coluna original
188+
j = c(6,7),
189+
bg="red")
224190
225191
tab3
226192
```
227193

228-
```{r include=F}
194+
```{r include=FALSE}
229195
tab3 <- tab2 %>%
230-
add_header_row(values = c("Tempo/Lugar", "Indicadores"),
231-
colwidths = c(2,5)) %>%
232-
align(align="c", part="header")
233-
234-
tab3 %>% save_as_image("../img/tab6.png")
235-
196+
bg(i = ~ Country =="Brasil" , # nome da coluna original
197+
j = c(6,7),
198+
bg="red")
236199
200+
tab3 %>% save_as_image("../img/tab4.png")
237201
```
238202

239-
![](../img/tab6.png){fig-alt="Tab4" fig-align="center" width="100%"}
240-
241-
## Título
242-
243-
- set_caption
244-
- Cabeçalho YAML
245-
- output: officedown::rdocx_document
246-
247-
. . .
248-
249-
```{r}
203+
![](../img/tab4.png){fig-alt="Tab4" fig-align="center" width="100%"}
250204

251-
run_num <- run_autonum(seq_id = "tab", pre_label = "Tabela",
252-
post_label=". ", bkm = "anytable")
205+
## Coloração condicional
253206

254-
tab3 %>%
255-
set_caption("Título da tabela",
256-
autonum=run_num )
207+
```{r echo=F}
208+
tab2_num <- dados_covid %>%
209+
filter(Country %in% paises,
210+
New_cases>0) %>%
211+
separate(Date_reported, c("Ano", "Mês", "Dia")) %>%
212+
filter(Ano=="2023"|Ano=="2022") %>%
213+
mutate(Country=case_when(
214+
Country=="Brazil" ~ "Brasil",
215+
Country=="Italy" ~ "Itália",
216+
Country=="France" ~ "França",
217+
Country=="Uruguay" ~ "Uruguai")) %>%
218+
mutate(letalidade_diaria = New_deaths/New_cases*100)%>%
219+
mutate(Continente = ifelse(Country=="Brasil"|Country=="Uruguai",
220+
"América do Sul", "Europa")) %>%
221+
group_by( Ano, Continente, Country) %>%
222+
summarise(letalidade_media = mean(letalidade_diaria),
223+
desvio_padrao = sd(letalidade_diaria ),
224+
Casos_maximo = max(New_cases),
225+
Obitos_maximo = max(New_deaths)) %>%
226+
ungroup() %>%
227+
flextable() %>%
228+
autofit() %>%
229+
align(align="r", part="all") %>%
230+
align(align="c", j=c(1,2), part="all") %>%
231+
bold(part="header") %>%
232+
bold(j=c(1,2)) %>%
233+
bg(bg="lightgrey", j=1, part="all") %>%
234+
bg(bg="grey", j=c(2,3), part="all") %>%
235+
hline(i=c(2,4,6)) %>%
236+
vline(j=c(1,2,3)) %>%
237+
set_header_labels(
238+
Country="País",
239+
letalidade_media="Letalidade Média Diária",
240+
desvio_padrao="Desvio Padrão",
241+
Casos_maximo="Máximo de casos em 24h",
242+
Obitos_maximo="Máximo de óbitos em 24h")
257243
```
258244

259-
## Fonte
260-
261-
- A fonte deve estar instalada no seu computador!
262-
263-
. . .
264-
265245
```{r eval=F}
266-
tab3 %>% font(part = "all", fontname = "Verdana")
246+
tab4 <- tab2_num %>%
247+
bg(i = ~ Casos_maximo >200000 , # nome da coluna original
248+
bg="yellow") %>%
249+
colformat_double(decimal.mark = ",",
250+
digits = 2) %>%
251+
colformat_int(big.mark = ".")
252+
253+
tab4
267254
```
268255

269256
```{r include=F}
270-
tab4 <- tab3 %>%
271-
font(part = "all", fontname = "Verdana")
257+
tab4 <- tab2_num %>%
258+
bg(i = ~ Casos_maximo >200000 , # nome da coluna original
259+
bg="yellow") %>%
260+
colformat_double(decimal.mark = ",",
261+
big.mark = ".",
262+
digits = 2) %>%
263+
colformat_int(big.mark = ".")
264+
265+
tab4 %>% save_as_image(path="../img/tab5.png")
266+
```
272267

273-
tab4 %>% save_as_image("../img/tab7.png")
268+
![](../img/tab5.png){fig-alt="Tab3" fig-align="center" width="100%"}
274269

275-
```
270+
## COMENTÁRIOS
276271

277-
![](../img/tab7.png){fig-alt="Tab4" fig-align="center" width="100%"}
272+
- Tem que ser o nome original na base! Sugestão: deixe para mudar os nomes só no final
278273

279-
- Com uma fonte nova
274+
- Vantagem: Não preciso dizer o número das linhas , ele vai atualizar baseado no valor do banco! Isso é mais reprodutível.
280275

281-
. . .
276+
- **PARA CONDICIONAR SOBRE OS NÚMEROS, O R TEM QUE ESTAR RECONHECENDO COMO NUMÉRICO**
282277

283-
```{r eval=F}
284-
tab3 %>% font(part = "all", fontname = "Poppins")
285-
```
278+
- Por isso removi o mutate_if() que haviamos feito no início da manipulação.
279+
- Há possibilidade de mudar isso na própria tabela.
286280

287-
```{r include=F}
288-
tab5 <- tab3 %>%
289-
font(part = "all", fontname = "Poppins")
281+
## Tarefa do fim do módulo
290282

291-
tab5 %>% save_as_image("../img/tab8.png")
283+
- Entregar uma tabela em Word (.docx) criada com o **flextable** com uma base de dados do seu interesse. O código .Rmd deve ser entregue juntamente com a tabela gerada.
292284

293-
```
285+
- Sugiro não utilizar as mesmas bases que usamos aqui na aula, a não ser que faça uma abordagem muito diferentes das já feitas.
286+
287+
- Para chegar na tabela, você deve usar funções de manipulações de dados de acordo como seu objetivo. Deve conter pelo menos alguma manipulação com o *filter()* e com o *mutate()*, **no mínimo**.
288+
289+
- Deve conter pelo menos 3 funções de formatação da tabela.
294290

295-
![](../img/tab8.png){fig-alt="Tab4" fig-align="center" width="100%"}
291+
- **Desafio:** usar funções novas de formatação ou manipulação não apresentadas na aula.
296292

297-
# Até mais, pessoal!
293+
# Até o próximo módulo!

R_tras_pra_Frente/Aula24_fim_flextable/Slides_Aula24_fim_flextable.html

+206-103
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)