Editais

Column

X

3

X

18

Column

Projetos por edital

Valores investidos em cada edital

Investimento médio em cada edital

Empresas

Column

X

18

X

6

X

12

Column

Empresas por setores

Pessoal

Column

X

125

Column

Distribuição do pessoal por empresas

Pessoal ocupado por segmento

Pessoal por subsegmento TIC

Escolaridade de Pessoal

Atividades de inovação

Column

Tipo de Inovação

Impacto da inovação

Dificuldades apresentadas

Frequência de implementação de P&D

---
title: "Incentivos à inovação em Sergipe (2010-2013)"
output: 
  flexdashboard::flex_dashboard:
    orientation: columns
    vertical_layout: fill
    source_code: embed
---

```{r setup, include=FALSE}
library(flexdashboard)
library(dplyr)
library(ggplot2)
library(scales)
library(treemapify)
library(plotly)
library(tidyr)
library(knitr)
library(stringr)
library(readr)
```

```{r}
# Leitura dos dados
bd1 <- read.csv("C:/Users/igorc/Desktop/PESQUISAS/Fapitec/13_2022/04 Dashboards/01_rito_2022/bd/bd1.csv", sep = ";", fileEncoding = "UTF-8")

bd7 <- read.csv("C:/Users/igorc/Desktop/PESQUISAS/Fapitec/13_2022/04 Dashboards/01_rito_2022/bd/bd7.csv")

bd2 <- read.csv("C:/Users/igorc/Desktop/PESQUISAS/Fapitec/13_2022/04 Dashboards/01_rito_2022/bd/bd2.csv", sep = ";")

bd3 <- read.csv("C:/Users/igorc/Desktop/PESQUISAS/Fapitec/13_2022/04 Dashboards/01_rito_2022/bd/bd3.csv", sep = ";")

bd4 <- read.csv("C:/Users/igorc/Desktop/PESQUISAS/Fapitec/13_2022/04 Dashboards/01_rito_2022/bd/bd4.csv", sep = ";")

colnames(bd4)[1] <- "Dificuldades"


```


Editais
=======================================================================

Column {data-width=250}
-----------------------------------------------------------------------

### X

```{r}
valueBox(
  value = 3,
  icon = "fa-file-text-o",
  caption = "Editais geridos pela Fapitec"
)
```

### X

```{r}
valueBox(
  value = 18,
  icon = "fa-handshake-o",
  caption = "Projetos contratados / Empresas sergipanas beneficiadas"
)
```

Column {.tabset .tabset-fade data-width=750}
-----------------------------------------------------------------------

### Projetos por edital
```{r}
# Preparação dos dados para o gráfico
projetos_ano <- bd1 %>%
  group_by(edital) %>%
  summarize(Quantidade = n())

p <- ggplot(projetos_ano, aes(x = edital, y = Quantidade)) +
  geom_bar(stat = "identity", fill = "skyblue") +
  labs(title = "Projetos contratados por ano", x = "Ano", y = "Quantidade de Projetos") +
  theme_minimal()

# Transformando o gráfico em interativo com tooltip
ggplotly(p, tooltip = c("x", "y"))

```


### Valores investidos em cada edital
```{r}

# Preparação dos dados para o gráfico
valor_ano <- bd7 %>%
  group_by(ano) %>%
  summarize(Valor_Contratado = sum(valor_projetos_contratados) / 1000) # Ajustando a escala para mil

# Criando o gráfico com ggplot
p <- ggplot(valor_ano, aes(x = ano, y = Valor_Contratado)) +
  geom_bar(stat = "identity", fill = "lightgreen") +
  labs(
    title = "Valor contratado por ano",
    x = "Ano",
    y = "Valor Contratado (R$ Mil)" # Alterado para indicar a nova escala
  ) +
  scale_y_continuous(
    labels = function(x) {
      # Formatação personalizada para o eixo Y
      ifelse(
        x >= 1000, 
        paste0(x / 1000, "k"), # Adiciona "k" para milhões
        format(x, big.mark = ".", decimal.mark = ",") # Formata para mil sem "k"
      )
    }
  ) +
  theme_minimal()

# Transformando o gráfico em interativo com tooltip
ggplotly(p, tooltip = c("x", "y")) %>%
  layout(
    yaxis = list(
      title = "Valor Contratado (R$ Mil)", # Reflete a nova escala no eixo Y
      tickformat = ""
    )
  )


```

### Investimento médio em cada edital
```{r}

# Preparação dos dados para o gráfico
# Garantindo que a coluna 'ano' é numérica e gerando um intervalo contínuo de anos
anos_completos <- seq(min(bd7$ano), max(bd7$ano)) # Intervalo contínuo de anos

investimento_medio_por_ano <- bd7 %>%
  mutate(ano = as.integer(ano)) %>% # Garantir que 'ano' seja numérico
  group_by(ano) %>%
  summarize(Investimento_Medio = sum(valor_projetos_contratados) / sum(quantidade_projetos_contratados), .groups = "drop") %>%
  complete(ano = anos_completos, fill = list(Investimento_Medio = NA)) # Preencher anos ausentes com NA

# Convertendo os valores para 'milhares'
investimento_medio_por_ano <- investimento_medio_por_ano %>%
  mutate(Investimento_Medio = Investimento_Medio / 1000) # Divisão para converter para milhares

# Criação do gráfico
p <- ggplot(investimento_medio_por_ano, aes(x = ano, y = Investimento_Medio)) +
  geom_bar(stat = "identity", fill = "purple", na.rm = TRUE) + # Na.rm = TRUE para ignorar os NAs
  labs(
    title = "Investimento Médio por Empresa por Ano",
    x = "Ano",
    y = "Investimento Médio (R$ Mil)" # Atualizando a unidade no rótulo do eixo Y
  ) +
  scale_y_continuous(
    labels = function(x) {
      # Formatação personalizada para o eixo Y
      ifelse(
        x >= 1000, 
        paste0(x / 1000, "k"), # Adiciona "k" para milhões
        format(x, big.mark = ".", decimal.mark = ",") # Formata para mil sem "k"
      )
    }
  ) +
  scale_x_continuous(breaks = anos_completos) + # Garantir que todos os anos aparecem no eixo X
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

# Transformando o gráfico em interativo com tooltip
ggplotly(p, tooltip = c("x", "y")) %>%
  layout(
    yaxis = list(
      title = "Investimento Médio (R$ Mil)", # Atualizado para refletir a nova escala
      tickformat = "" # Removendo formatação automática
    )
  )

```

Empresas
=======================================================================

Column {data-width=250}
-----------------------------------------------------------------------

### X

```{r}
valueBox(
  value = 18,
  icon = "fa-industry",
  caption = "Total de empresas sergipanas beneficiadas"
)
```

### X

```{r}
valueBox(
  value = 6,
  icon = "fa-industry",
  caption = "Empresas de Pequeno Porte"
)
```

### X

```{r}
valueBox(
  value = 12,
  icon = "fa-industry",
  caption = "Microempresas"
)
```


Column {.tabset .tabset-fade data-width=750}
-----------------------------------------------------------------------

### Empresas por setores

```{r}

# Preparação dos dados
# Dados para TIC e Petróleo e Gás
tic_petroleo_data <- bd1 %>%
  mutate(tipo_empresa = ifelse(tic == 1, "TIC", "Petróleo e Gás"))

# Dados para subsetores de TIC
tic_subsetores <- bd1 %>%
  filter(tic == 1) %>%
  group_by(segmento) %>%
  summarize(Quantidade = n()) %>%
  mutate(tipo_empresa = "TIC")

# Dados de Petróleo e Gás
petroleo_data <- bd1 %>%
  filter(tic == 0) %>%
  summarize(segmento = "Petróleo e Gás", Quantidade = n()) %>%
  mutate(tipo_empresa = "Petróleo e Gás")

# Unindo os dados para criar o gráfico acumulado
combined_data <- bind_rows(tic_subsetores, petroleo_data)

# Criando o gráfico de barras acumuladas interativo
p_barras_acumuladas <- plot_ly(
  combined_data,
  x = ~tipo_empresa,
  y = ~Quantidade,
  color = ~segmento, # Define as cores com base nos segmentos
  type = 'bar',
  text = ~paste("Segmento:", segmento, "<br>Quantidade:", Quantidade),
  hoverinfo = 'text'
) %>%
  layout(
    title = "Distribuição acumulada: Empresas TIC e Petróleo e Gás",
    barmode = 'stack', # Define como gráfico de barras acumuladas
    xaxis = list(title = "Tipo de Empresa"),
    yaxis = list(title = "Quantidade"),
    legend = list(title = list(text = "Segmentos"))
  )

# Exibindo o gráfico interativo
p_barras_acumuladas

```


Pessoal
=======================================================================

Column {data-width=250}
-----------------------------------------------------------------------

### X

```{r}
valueBox(
  value = 125,
  icon = "fa-users",
  caption = "Pessoal ocupado total"
)
```



 Column {.tabset .tabset-fade data-width=750}
-----------------------------------------------------------------------

### Distribuição do pessoal por empresas
```{r}
# Cálculo do total de pessoal para cada empresa
bd1_ <- bd1 %>%
  mutate(total_pessoal = pessoal_atuante + pessoal_socios + pessoal_contratos_formais + 
                          pessoal_terceirizados + pessoal_estagiarios + pessoal_outros)

# Definindo as faixas de total de pessoal
bd1_ <- bd1_ %>%
  mutate(faixa_pessoal = cut(total_pessoal, 
                             breaks = c(0, 5, 10, 20, 50, Inf), 
                             labels = c("0-5", "6-10", "11-20", "21-50", "51+")))

# Calculando a frequência de empresas em cada faixa de pessoal
frequencia_faixa <- bd1_ %>%
  group_by(faixa_pessoal) %>%
  summarize(Quantidade = n())

# Criação do gráfico de barras horizontais
p <- ggplot(frequencia_faixa, aes(y = faixa_pessoal, x = Quantidade, fill = faixa_pessoal)) +
  geom_bar(stat = "identity") +
  labs(title = "Distribuição de Empresas por Faixa de Total de Pessoal", 
       x = "Quantidade de Empresas", y = "Faixa de Total de Pessoal") +
  theme_minimal() +
  theme(legend.position = "none")

# Transformando o gráfico em interativo com tooltip
ggplotly(p, tooltip = c("x", "y"))
```

### Pessoal ocupado por segmento

```{r}
# Cálculo do total de pessoal para cada empresa
bd_1 <- bd1 %>%
  mutate(total_pessoal = pessoal_atuante + pessoal_socios + pessoal_contratos_formais + 
                          pessoal_terceirizados + pessoal_estagiarios + pessoal_outros)

# Identificação do setor a partir da coluna 'tic'
bd_1 <- bd_1 %>%
  mutate(setor = ifelse(tic == 1, "TIC", "Petróleo e Gás"))

# Cálculo da média de pessoal por setor
media_pessoal_setor <- bd_1 %>%
  group_by(setor) %>%
  summarize(Media_Pessoal = mean(total_pessoal, na.rm = TRUE))

# Criação do gráfico de barras verticais
p <- ggplot(media_pessoal_setor, aes(x = setor, y = Media_Pessoal, fill = setor)) +
  geom_bar(stat = "identity") +
  labs(title = "Média de Pessoal por Setor", 
       x = "Setor", y = "Média de Pessoal") +
  theme_minimal() +
  theme(legend.position = "none")

# Transformando o gráfico em interativo com tooltip
ggplotly(p, tooltip = c("x", "y"))
```

### Pessoal por subsegmento TIC
```{r}
# Cálculo do total de pessoal para cada empresa
b_d1 <- bd1 %>%
  mutate(total_pessoal = pessoal_atuante + pessoal_socios + pessoal_contratos_formais + 
                          pessoal_terceirizados + pessoal_estagiarios + pessoal_outros)

# Cálculo da média de pessoal por segmento
media_pessoal_segmento <- b_d1 %>%
  group_by(segmento) %>%
  summarize(Media_Pessoal = mean(total_pessoal, na.rm = TRUE))

# Criação do gráfico de barras verticais
p <- ggplot(media_pessoal_segmento, aes(x = reorder(segmento, Media_Pessoal), y = Media_Pessoal, fill = segmento)) +
  geom_bar(stat = "identity") +
  labs(title = "Média de Pessoal por Segmento", 
       x = "Segmento", y = "Média de Pessoal") +
  theme_minimal() +
  theme(legend.position = "none") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

# Transformando o gráfico em interativo com tooltip
ggplotly(p, tooltip = c("x", "y"))
```

### Escolaridade de Pessoal

```{r}
# Supondo que 'bd1' já foi carregado anteriormente
# Soma as quantidades para cada grau de escolaridade
escolaridade_data <- bd1 %>%
  summarize(
    `Ensino Médio` = sum(escolaridade_medio, na.rm = TRUE),
    `Superior Incompleto` = sum(escolaridade_sup_incompleto, na.rm = TRUE),
    `Superior Completo` = sum(escolaridade_sup, na.rm = TRUE),
    `Pós-graduação` = sum(escolaridade_pos, na.rm = TRUE)
  ) %>%
  pivot_longer(cols = everything(), names_to = "Grau_de_escolaridade", values_to = "Numero_de_pessoas") %>%
  mutate(Porcento = Numero_de_pessoas / sum(Numero_de_pessoas) * 100)

# Ordena os dados para o gráfico
escolaridade_data <- escolaridade_data %>%
  arrange(factor(Grau_de_escolaridade, levels = c("Ensino Médio", "Superior Incompleto", "Superior Completo", "Pós-graduação")))

# Criação do gráfico de barras interativo sem texto sobre as barras
p_interactive_barras <- plot_ly(
  escolaridade_data,
  x = ~Grau_de_escolaridade,
  y = ~Numero_de_pessoas,
  type = 'bar',
  hoverinfo = 'text', # Mostra informações apenas ao passar o mouse
  hovertext = ~paste(
    "Grau de Escolaridade:", Grau_de_escolaridade,
    "<br>Quantidade:", Numero_de_pessoas,
    "<br>Percentual:", round(Porcento, 2), "%"
  ),
  marker = list(color = 'rgb(58, 123, 213)') # Cor personalizada para as barras
) %>%
  layout(
    title = "Distribuição de Escolaridade",
    xaxis = list(title = "Grau de Escolaridade"),
    yaxis = list(title = "Número de Pessoas"),
    bargap = 0.2 # Espaço entre as barras
  )

# Exibe o gráfico interativo
p_interactive_barras



```


Atividades de inovação
=======================================================================

Column {.tabset .tabset-fade}
-----------------------------------------------------------------------

### Tipo de Inovação

```{r}
# Modificar os rótulos das categorias para múltiplas linhas
bd2$tipo_inovacao <- str_wrap(bd2$tipo_inovacao, width = 30)

# Transformar os dados para facilitar a criação de barras separadas para "Sim" e "Não"
bd2_long <- bd2 %>%
  pivot_longer(cols = c("sim", "nao"), names_to = "Resposta", values_to = "Quantidade")

# Criar o gráfico de barras horizontais
grafico <- ggplot(bd2_long, aes(x = reorder(tipo_inovacao, Quantidade), y = Quantidade, fill = Resposta)) +
  geom_bar(stat = "identity", position = position_dodge(), aes(text = paste("Quantidade:", Quantidade))) +
  coord_flip() +  # Para barras horizontais
  labs(
    title = "Tipos de Inovação e Respostas (Sim/Não)",
    x = "Tipo de Inovação",
    y = "Quantidade",
    fill = "Resposta"
  ) +
  theme_minimal() +
  scale_fill_manual(values = c("sim" = "steelblue", "nao" = "salmon"))

# Tornar o gráfico interativo com plotly
grafico_interativo <- ggplotly(grafico, tooltip = "text")

# Exibir o gráfico interativo
grafico_interativo
```

### Impacto da inovação

```{r}
# Modificar os rótulos das categorias para múltiplas linhas
bd3$impacto_inovacao <- str_wrap(bd3$impacto_inovacao, width = 30)

# Transformar os dados para facilitar a criação de barras separadas para "Sim" e "Não"
bd3_long <- bd3 %>%
  pivot_longer(cols = c("sim", "nao"), names_to = "Resposta", values_to = "Quantidade")

# Criar o gráfico de barras horizontais
grafico <- ggplot(bd3_long, aes(x = reorder(impacto_inovacao, Quantidade), y = Quantidade, fill = Resposta)) +
  geom_bar(stat = "identity", position = position_dodge(), aes(text = paste("Quantidade:", Quantidade))) +
  coord_flip() +  # Para barras horizontais
  labs(
    title = "Impactos da Inovação e Respostas (Sim/Não)",
    x = "Impacto da Inovação",
    y = "Quantidade",
    fill = "Resposta"
  ) +
  theme_minimal() +
  scale_fill_manual(values = c("sim" = "steelblue", "nao" = "salmon"))

# Tornar o gráfico interativo com plotly
grafico_interativo <- ggplotly(grafico, tooltip = "text")

# Exibir o gráfico interativo
grafico_interativo
```


### Dificuldades apresentadas

```{r}
# Transformar os dados para criar barras separadas para "Sim" e "Não"
bd4_long <- bd4 %>%
  pivot_longer(cols = c("sim", "nao"), names_to = "Resposta", values_to = "Quantidade")

# Definir a ordem de exibição dos níveis para "Resposta" (Sim antes de Não)
bd4_long$Resposta <- factor(bd4_long$Resposta, levels = c("sim", "nao"))

# Modificar os rótulos das categorias para múltiplas linhas
bd4_long$Dificuldades <- str_wrap(bd4_long$Dificuldades, width = 30)

# Criar o gráfico de barras horizontais
grafico <- ggplot(bd4_long, aes(x = reorder(Dificuldades, Quantidade), y = Quantidade, fill = Resposta)) +
  geom_bar(stat = "identity", position = position_dodge(), aes(text = paste("Quantidade:", Quantidade))) +
  coord_flip() +  # Para barras horizontais
  labs(
    title = "Dificuldades na Implementação do Projeto e Respostas (Sim/Não)",
    x = "Dificuldades",
    y = "Quantidade",
    fill = "Resposta"
  ) +
  theme_minimal() +
  scale_fill_manual(values = c("sim" = "steelblue", "nao" = "salmon"))

# Tornar o gráfico interativo com plotly
grafico_interativo <- ggplotly(grafico, tooltip = "text")

# Exibir o gráfico interativo
grafico_interativo
```


### Frequência de implementação de P&D

```{r}
# Etapa 1: Resumo dos dados para contar 'Sim' e 'Não' para cada tipo de P&D
bd1_resumo <- bd1 %>%
  summarise(
    ped_continua_sim = sum(ped_continua == 1, na.rm = TRUE),
    ped_continua_nao = sum(ped_continua == 0, na.rm = TRUE),
    ped_ocasional_sim = sum(ped_ocasional == 1, na.rm = TRUE),
    ped_ocasional_nao = sum(ped_ocasional == 0, na.rm = TRUE),
    ped_nao_sim = sum(ped_nao == 1, na.rm = TRUE),
    ped_nao_nao = sum(ped_nao == 0, na.rm = TRUE)
  )

# Etapa 2: Transformação para o formato longo, ajustando `names_pattern` para evitar o aviso
bd1_long <- bd1_resumo %>%
  pivot_longer(
    cols = everything(),
    names_to = c("Categoria", "Resposta"),
    names_pattern = "(.*)_(sim|nao)",
    values_to = "Quantidade"
  )

# Etapa 3: Recodificação das variáveis para tornar os nomes mais legíveis
bd1_long <- bd1_long %>%
  mutate(
    Categoria = recode(Categoria,
                       "ped_continua" = "P&D contínuo",
                       "ped_ocasional" = "P&D ocasional",
                       "ped_nao" = "Nunca realiza P&D"),
    Resposta = recode(Resposta, "sim" = "Sim", "nao" = "Não")
  )

# Etapa 4: Criar o gráfico de barras horizontais usando ggplot2
grafico <- ggplot(bd1_long, aes(x = reorder(Categoria, Quantidade), y = Quantidade, fill = Resposta)) +
  geom_bar(stat = "identity", position = position_dodge()) +
  coord_flip() +
  labs(title = "Distribuição das atividades de P&D", x = "Categoria", y = "Quantidade") +
  theme_minimal()

# Torna o gráfico interativo com plotly para exibir informações de x e y ao passar o mouse
grafico_interativo <- ggplotly(grafico, tooltip = c("x", "y", "fill"))

# Exibe o gráfico interativo
grafico_interativo
```