---
title: "Pizzaria"
author: "Rodrigo Zambon"
output:
flexdashboard::flex_dashboard:
orientation: columns
vertical_layout: fill
source_code: embed
social: menu
#social: ["twitter", "facebook", "linkedin"]
navbar:
- { title: "Sobre mim", href: "http://zambon.ai", align: right }
- { icon: fa-address-card, href: "http://www.mundoagil.com", align: right}
#logo: logo.png
#favicon: favicon.png
---
```{r setup, include=FALSE}
# Lista de pacotes
pacotes <- c("arules", "arulesViz", "RColorBrewer", "ggplot2","dplyr","plotly",
"tidyverse", "ggrepel", "knitr", "kableExtra", "reshape2", "pacman",
"syuzhet", "tidytext", "SnowballC", "sentimentBR", "wordcloud2", "tm",
"RWeka", "flexdashboard", "RColorBrewer", "viridis", "htmltools")
# Instala pacotes que ainda não estão instalados
pacotes_nao_instalados <- pacotes[!(pacotes %in% installed.packages()[,"Package"])]
if(length(pacotes_nao_instalados)) install.packages(pacotes_nao_instalados)
# Carrega os pacotes
lapply(pacotes, require, character.only = TRUE)
# Carregar o espaço de trabalho de um arquivo .RData
load("pizzaria_files.RData")
```
# Regras dos Pedidos {data-icon="fa-signal"}
Column {data-width=350}
-----------------------------------------------------------------------
### Itens mais demandados
```{r}
arules::itemFrequencyPlot(pedidos_feitos, topN = 20,
col = brewer.pal(8, 'Pastel2'),
main = 'Frequência relativa dos pedidos',
type = "absolute",
ylab = "Item Frequency (Relative)")
```
### Principais regras de associação
```{r}
library(knitr)
# Renomeia as colunas com NA ou "" nomes
names(regras_dataset)[which(names(regras_dataset) %in% c(NA, ""))] <- c("coluna2", "coluna3")
# Agora, o código anterior deve funcionar:
regras_dataset <- regras_dataset %>% arrange(desc(count))
# Seleciona os 20 primeiros registros e cria uma tabela com o pacote kable
kable(regras_dataset[1:20, ], format = "markdown")
```
Column {data-width=350}
-----------------------------------------------------------------------
### Visualização com base em Grafos
```{r}
plot(regras_pedidos_feitos, method = "grouped", control = list(k = 30))
```
### Gráfico de "dois andares" com regra aleatória
```{r}
oneRule <- sample(regras_pedidos_feitos, 1)
plot(oneRule, method = "doubledecker", data = pedidos_feitos)
```
# Sentimento dos Comentários {data-icon="fa-table"}
```{r include=FALSE}
wcloud <- wordcloud2(df, # generate word cloud
size = 1,
color= 'random-dark', # set colors
shape = 'pentagon',
rotateRatio = 0) #horizontal looks better, but what do you think?
wcloud
```
Column {data-width=350}
-----------------------------------------------------------------------
### Análise de sentimentos dos comentários
```{r}
ggplot(df_counts, aes(x = BEST_FIT, y = count, fill = BEST_FIT)) +
geom_bar(stat = "identity") +
scale_fill_viridis(discrete = TRUE, option = "D") + # usar a paleta Dark2 do RColorBrewer
theme_minimal() +
labs(x = "Best Fit",
y = "Count",
title = "Análise de Sentimentos",
subtitle = "Avaliações dos Clientes",
caption = "Fonte: arquivo csv") +
theme(axis.text.x = element_text(angle = 45, hjust = 1),
legend.position = "none") # remove a legenda
```
### Avaliação dos comentários
```{r}
ggplot(df_pie, aes(x = "", y = prop, fill = category)) +
geom_bar(width = 1, stat = "identity") +
coord_polar("y", start=0) +
scale_fill_viridis(discrete = TRUE, option = "H") + # usar a paleta viridis
geom_text(aes(label = scales::percent(prop)),
position = position_stack(vjust = 0.5), color = "white", size = 6) +
theme_void() +
labs(
title = "Avaliação das Respostas",
subtitle = "Campo: txtRecado",
caption = "Fonte: arquivo csv",
fill = "Legenda"
)
```
Column {data-width=350}
-----------------------------------------------------------------------
### Nuvem de palavras dos comentários
```{r}
wcloud
```
### Bigrams
```{r}
bigrams
```
# Análise de Correspondência {data-icon="fa-table"}
## Column {data-width=350}
### Anacor
```{r}
knitr::include_graphics("anacor.jpg")
```