É preciso fazer:
library(tidyverse)
library(readxl)
library(writexl)
library(loadinstall)
packages <- c("ggplot2", "dplyr", "ggthemes", "data.table", "thematic", "readr", "stringr", "tidyr", "readxl", "ggthemes", "stringdist", "fuzzyjoin", "stringi")
invisible(lapply(packages, dynamic_require))
library(dplyr)
principal <- read_excel("ultimo.xlsx")
principal$date<-date(principal$`Data e horário de início da entrevista`)
principal <- principal %>% filter(date > as.Date("2025-07-21"))
p2 <- principal %>% filter(!`_validation_status` %in% c("Not Approved", "On Hold"))
p2$index<-p2$`_index`
p2 <- p2 %>%
mutate(`Grupo amostral` = case_when(
grepl("Controle", `Grupo amostral`) ~ "Controle",
grepl("Spillover", `Grupo amostral`) ~ "Spillover",
grepl("Tratamento", `Grupo amostral`) ~ "Tratamento",
TRUE ~ as.character(`Grupo amostral`) # Mantém outros valores inalterados
))
p2 <- p2 %>% select(where(~!all(is.na(.x))))
#há 4 questionários a mais
#+1 em Campinas
p2 <- p2[p2$`Nome do RESPONDENTE` != "Lázaro de Lima Pereira", ]
# + 1 de Patos
p2 <- p2[p2$`Nome do RESPONDENTE` != "Francisca Paula da Costa", ]
#tem 2 que são NA no grupo amostral
invalidos <- p2 %>% filter(is.na(`Grupo amostral`))
p2 <- p2 %>% filter(!is.na(`Grupo amostral`))
# Gilmar de Sousa santos tá como controle, mas é spillover
# Maria Antônia de Oliveira tá como controle, mas é spillover
table(p2$`Grupo amostral`)
##
## Controle Spillover Tratamento
## 366 66 264
p2 <- p2 %>%
mutate(`Grupo amostral` = case_when(
`Nome do RESPONSÁVEL pela propriedade` == "Gilmar de Sousa santos" ~ "Spillover",
`Nome do RESPONSÁVEL pela propriedade` == "Maria Antônia de Oliveira" ~ "Spillover",
TRUE ~ `Grupo amostral`
))
table(p2$`Grupo amostral`)
##
## Controle Spillover Tratamento
## 364 68 264
# Alterar ambos os registros de uma vez
p2$`Unidade da Federação (Estado)`[p2$index %in% c(706, 563)] <- "Pernambuco (PE)"
table(p2$`Grupo amostral`)
##
## Controle Spillover Tratamento
## 364 68 264
Controle (não beneficiário) Spillover (transbordamento) Tratamento (beneficiário) 368 66 266
library(ggplot2)
library(dplyr)
library(tidyr)
# Criando os dados com os novos nomes e ordem
dados <- data.frame(
Momento = factor(c("Esperado", "Esperado", "Esperado", "Efetivo", "Efetivo", "Efetivo"),
levels = c("Esperado", "Efetivo")), # Definindo a ordem dos fatores
Categoria = c("Controle", "Spillover", "Tratamento", "Controle", "Spillover", "Tratamento"),
Valor = c(364, 68, 264, 364, 68, 264)
)
# Calculando totais por momento
totais <- dados %>%
group_by(Momento) %>%
summarize(Total = sum(Valor))
# Criando o gráfico
p <- ggplot(dados, aes(x = Momento, y = Valor, fill = Categoria)) +
geom_bar(stat = "identity", position = "stack") +
geom_text(aes(label = Valor),
position = position_stack(vjust = 0.5),
color = "white", size = 3.5) +
geom_text(data = totais,
aes(x = Momento, y = Total, label = Total),
inherit.aes = FALSE,
vjust = -0.5, size = 3.5) +
scale_fill_manual(values = c("Controle" = "#1f77b4",
"Tratamento" = "#ff7f0e",
"Spillover" = "#2ca02c")) +
labs(title = "",
x = "",
y = "",
fill = "") +
theme_minimal() +
theme(
legend.position = "bottom",
legend.title.align = 0.5,
axis.text.x = element_text(hjust = 0.5, size = 10),
plot.title = element_text(hjust = 0.5, face = "bold"),
axis.title.y = element_text(margin = margin(r = 10))
)
## Warning: The `legend.title.align` argument of `theme()` is deprecated as of ggplot2
## 3.5.0.
## ℹ Please use theme(legend.title = element_text(hjust)) instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
# Salvando o gráfico
ggsave("panoramama.png", plot = p, width = 8, height = 6, dpi = 300)
print(p)
quantos <- p2 %>% count(date) %>% rename(observacoes = n)
plot1 <- ggplot(quantos, aes(x = date, y = observacoes)) +
geom_line(color = "black", linewidth = 1) +
geom_point(color = "darkorange", size = 2) +
geom_text(
aes(label = observacoes),
vjust = -1,
color = "black",
size = 4
) +
labs(
title = "Quando os questionários foram respondidos?",
x = "",
y = "Número de Lares"
) +
theme_minimal() +
expand_limits(y = max(quantos$observacoes) * 1.1) +
scale_x_date(
date_breaks = "2 day",
date_labels = "%d-%m"
) +
theme(axis.text.x = element_text(angle = 0, hjust = 0.5))
ggsave(filename = "quando.png",plot = plot1, width = 10,height = 6,dpi = 300, bg = "white" )
plot1
# Calculando valores acumulados
quantos_cumulative <- quantos %>%
arrange(date) %>%
mutate(observacoes_acumuladas = cumsum(observacoes))
# Criando o gráfico acumulado
plot_cumulative <- ggplot(quantos_cumulative, aes(x = date, y = observacoes_acumuladas)) +
geom_line(color = "black", linewidth = 1) +
geom_point(color = "darkorange", size = 2) +
geom_text(
aes(label = observacoes_acumuladas),
vjust = -1,
color = "black",
size = 4
) +
labs(
title = "Acumulado de questionários respondidos",
x = "",
y = "Acumulado de Lares"
) +
theme_minimal() +
expand_limits(
y = max(quantos_cumulative$observacoes_acumuladas) * 1.1, # Expande eixo y
x = c(min(quantos_cumulative$date) - 1, max(quantos_cumulative$date) + 1) # Expande eixo x
) + scale_x_date(
date_breaks = "3 day",
date_labels = "%d-%m"
) +
theme(axis.text.x = element_text(angle = 0, hjust = 0.5))
# Salvando o gráfico
ggsave(filename = "cumulative.png", plot = plot_cumulative, width = 10, height = 6, dpi = 300, bg = "white")
plot_cumulative
Onde caem os pontos do georreferenciamento?
O que diz o questionário?
table(p2$`Unidade da Federação (Estado)`)
##
## Bahia (BA) Pernambuco (PE) Piauí (PI)
## 122 210 364
Por agora, dia 06 de agosto, a gente tem 122 na Bahia, 12 de Pernambuco e 334 no Piuaí. Ou seja, são 468 questionários válidos. 43 deles (43 + 468 = 511) tem status ‘not approved’ ou ‘on hold’, e um deles tem data de aplicação anterior a 21 de julho.
# Criar tabela de frequência com porcentagens
dados_estados <- as.data.frame(table(p2$`Unidade da Federação (Estado)`))
names(dados_estados) <- c("Estado", "Observacoes")
# Calcular porcentagens
dados_estados <- dados_estados %>%
mutate(Porcentagem = round(Observacoes/sum(Observacoes)*100, 0)) %>%
arrange(-Observacoes)
# Criar rótulos combinados (Número + Porcentagem)
dados_estados <- dados_estados %>%
mutate(Rotulo = paste0(Observacoes, " (", Porcentagem, "%)"))
plot2 <- ggplot(dados_estados, aes(x = reorder(Estado, -Observacoes), y = Observacoes)) +
geom_bar(stat = "identity", fill = "darkred") +
geom_text(
aes(label = Rotulo), # Usa o rótulo combinado
vjust = -0.5,
size = 5
) +
labs(
title = "Lares entrevistados",
x = "",
y = "",
caption = paste("Total:", sum(dados_estados$Observacoes), "lares")
) +
theme_minimal() +
theme(
axis.text.x = element_text(
angle = 0,
hjust = 0.5,
size = 14
),
plot.title = element_text(size = 16, hjust = 0.5),
plot.caption = element_text(size = 12, margin = margin(t = 10))
) +
ylim(0, max(dados_estados$Observacoes) * 1.2) # Aumentei para 1.2 para caber os novos rótulos
ggsave(filename = "estados.png", plot = plot2, width = 10, height = 6, dpi = 300, bg = "white")
plot2
Aí vamos ver se o gerreferenciamento bate com esses dados.
p2$erro_geo <- as.numeric(p2$`_Geolocalização_precision`)
plot_distribuicao <- ggplot(p2, aes(x = erro_geo)) +
geom_density(fill = "lightblue", alpha = 0.5, color = "blue") +
labs(
title = "",
x = "Precisão de Geolocalização (metros)",
y = "Densidade"
) +
theme_minimal() +
theme(
plot.title = element_text(size = 16, hjust = 0.5),
axis.title = element_text(size = 12),
axis.text = element_text(size = 10)
)
# Visualizar o gráfico
print(plot_distribuicao)
# Salvar o gráfico
ggsave(filename = "distribuicao_precisao.png", plot = plot_distribuicao,
width = 10, height = 6, dpi = 300, bg = "white")
# Carregar bibliotecas necessárias
library(dplyr)
library(leaflet)
library(htmlwidgets)
# Preparar os dados - filtrar coordenadas válidas
dados_mapa <- p2 %>%
filter(!is.na(`_Geolocalização_latitude`) &
!is.na(`_Geolocalização_longitude`)) %>%
mutate(
lat = as.numeric(`_Geolocalização_latitude`),
lng = as.numeric(`_Geolocalização_longitude`),
estado = `Unidade da Federação (Estado)`,
index = index
)
# Verificar se há dados após o filtro
if(nrow(dados_mapa) == 0) {
stop("Não há coordenadas válidas na base de dados")
}
# Criar paleta de cores para os estados
# Usando uma paleta qualitativa do RColorBrewer
estados_unicos <- unique(dados_mapa$estado)
cores_estados <- colorFactor(
palette = "Set1", # Paleta com cores distintas
domain = estados_unicos
)
# Criar o mapa
mapa_estados <- leaflet(dados_mapa) %>%
addTiles() %>% # Adiciona o mapa base
addCircleMarkers(
lng = ~lng,
lat = ~lat,
color = ~cores_estados(estado), # Cor por estado
popup = ~paste("<b>Index:</b>", index),
radius = 6,
stroke = FALSE,
fillOpacity = 0.8
) %>%
addLegend(
pal = cores_estados, # Usa a paleta de cores
values = ~estado, # Valores para a legenda
title = "", # Título da legenda
position = "bottomright" # Posição da legenda
) %>%
addScaleBar() %>% # Adiciona barra de escala
addControl("", position = "topright") # Título do mapa
# Salvar o mapa como HTML
saveWidget(mapa_estados, "mapa_por_estado.html")
# Visualizar o mapa (opcional)
mapa_estados
print(p2[p2$index==563 | p2$index==706, c("index", "_submitted_by")])
## # A tibble: 2 × 2
## index `_submitted_by`
## <dbl> <chr>
## 1 563 igoornobree
## 2 706 josealex18
Até aqui, parece tudo OK.
Vamos ver se a cidade dada pela coordenada bate certinho com a cidade indicada no formulário.
library(geobr)
library(sf)
library(dplyr)
library(purrr)
library(stringi)
library(stringr)
# Função para padronizar nomes
padronizar_nomes <- function(x) {
x %>%
toupper() %>%
stri_trans_general("Latin-ASCII") %>%
str_squish()
}
# 1. Preparar os dados
dados_verificar <- p2 %>%
select(
index,
municipio_ba = `Município (BA)`,
municipio_pe = `Município (PE)`,
municipio_pi = `Município (PI)`,
lat = `_Geolocalização_latitude`,
lon = `_Geolocalização_longitude`
) %>%
filter(!is.na(lat) & !is.na(lon)) %>%
st_as_sf(coords = c("lon", "lat"), crs = 4326) %>%
st_transform(crs = 4674)
# 2. Baixar shapes dos municípios
shapes_municipios <- map_dfr(c( "BA", "PE", "PI"), ~{
read_municipality(code_muni = .x, year = 2020) %>%
mutate(uf = .x) %>%
select(code_muni, name_muni, uf) %>%
mutate(name_muni_pad = padronizar_nomes(name_muni))
})
# 3. Verificar município de cada ponto
resultados <- st_join(
dados_verificar,
shapes_municipios %>% st_transform(crs = st_crs(dados_verificar)),
join = st_within
)
# 4. Identificar discrepâncias (versão corrigida)
discrepancias <- resultados %>%
# Extrair coordenadas antes de remover a geometria
mutate(
lon_original = st_coordinates(.)[,1],
lat_original = st_coordinates(.)[,2]
) %>%
st_drop_geometry() %>%
mutate(
municipio_declarado = case_when(
uf == "BA" ~ padronizar_nomes(municipio_ba),
uf == "PE" ~ padronizar_nomes(municipio_pe),
uf == "PI" ~ padronizar_nomes(municipio_pi)
),
discrepante = municipio_declarado != name_muni_pad
) %>%
filter(discrepante | is.na(uf)) %>%
select(
index,
uf,
municipio_declarado,
municipio_georref = name_muni,
code_muni,
lon_original,
lat_original
)
discrepancias2<-discrepancias %>% filter(municipio_declarado != "CURRAL NOVO")
print(discrepancias2)
## # A tibble: 16 × 7
## index uf municipio_declarado municipio_georref code_muni lon_original
## <dbl> <chr> <chr> <chr> <dbl> <dbl>
## 1 114 PI SOCORRO DO PIAUI Paes Landim 2207306 -42.2
## 2 123 PI SOCORRO DO PIAUI Santo Inácio Do Piauí 2209500 -41.9
## 3 124 PI CAMPINAS DO PIAUI Floresta Do Piauí 2203859 -41.7
## 4 160 BA CANSANCAO Queimadas 2925808 -39.6
## 5 313 PI BELA VISTA DO PIAUI Nova Santa Rita 2207959 -41.9
## 6 426 PI BELA VISTA DO PIAUI Nova Santa Rita 2207959 -41.9
## 7 427 PI BELA VISTA DO PIAUI Conceição Do Canindé 2202802 -41.5
## 8 447 PI BELA VISTA DO PIAUI Conceição Do Canindé 2202802 -41.5
## 9 536 PI BETANIA DO PIAUI Paulistana 2207801 -40.8
## 10 566 PE SANTA CRUZ Santa Filomena 2612554 -40.5
## 11 582 PE SANTA FILOMENA Bodocó 2602001 -40.1
## 12 594 PE SANTA CRUZ Parnamirim 2610400 -40.2
## 13 615 PE GRANITO Serrita 2614006 -39.6
## 14 616 PE GRANITO Moreilândia 2614303 -39.6
## 15 643 PE ARARIPINA Trindade 2615607 -40.3
## 16 663 PE EXU Bodocó 2602001 -40.0
## # ℹ 1 more variable: lat_original <dbl>
Das 8 discrepâncias em relação à geolocalização:
Socorro do Piauí e Paes Landim são vizinhos;
Socorro do Piuaí e Santo Inácio do Piauí não são vizinhos não. Na verdade, são 150km distantes um do outro (index = 123).
Campinas do Piauí e Floresta do Piauí são vizinhos.
Cansanção e Queimadas são vizinhos.
Bela Vista do Piauí e Nova Santa Rita são vizinhos.
Bela Vista do Piauí e Conceição do Canindé são vizinhos.
Vocês podem achar que vale a pena falar com todos os 8 questionários. Eu acho que o mais importante é verificar o que ocorreu com o index=123.
Vou olhar essas discrepâncias e juntar com a informação de quem fez o questionário.
discrepancias2<- discrepancias2 %>% left_join( p2 %>% select(index, `_submitted_by`), by = "index" )
discrepancias3 <- discrepancias2 %>% select(`_submitted_by`, everything())
print(discrepancias3)
## # A tibble: 16 × 8
## `_submitted_by` index uf municipio_declarado municipio_georref code_muni
## <chr> <dbl> <chr> <chr> <chr> <dbl>
## 1 leudiane_mariano 114 PI SOCORRO DO PIAUI Paes Landim 2207306
## 2 lucaslima88 123 PI SOCORRO DO PIAUI Santo Inácio Do P… 2209500
## 3 lucaslima88 124 PI CAMPINAS DO PIAUI Floresta Do Piauí 2203859
## 4 martim_affonso 160 BA CANSANCAO Queimadas 2925808
## 5 isadoraribeiro96 313 PI BELA VISTA DO PIAUI Nova Santa Rita 2207959
## 6 anderson_brito 426 PI BELA VISTA DO PIAUI Nova Santa Rita 2207959
## 7 anderson_brito 427 PI BELA VISTA DO PIAUI Conceição Do Cani… 2202802
## 8 anderson_brito 447 PI BELA VISTA DO PIAUI Conceição Do Cani… 2202802
## 9 anaclaudia1 536 PI BETANIA DO PIAUI Paulistana 2207801
## 10 igoornobree 566 PE SANTA CRUZ Santa Filomena 2612554
## 11 weiderloureto 582 PE SANTA FILOMENA Bodocó 2602001
## 12 josealex18 594 PE SANTA CRUZ Parnamirim 2610400
## 13 weiderloureto 615 PE GRANITO Serrita 2614006
## 14 weiderloureto 616 PE GRANITO Moreilândia 2614303
## 15 renatabenicio 643 PE ARARIPINA Trindade 2615607
## 16 weiderloureto 663 PE EXU Bodocó 2602001
## # ℹ 2 more variables: lon_original <dbl>, lat_original <dbl>
Colocando essas informações no Word.
library(officer)
##
## Attaching package: 'officer'
## The following object is masked from 'package:readxl':
##
## read_xlsx
library(dplyr)
# 1. Preparar os dados
tabela_word <- discrepancias3 %>%
select(`_submitted_by`, index, municipio_declarado, municipio_georref) %>%
arrange(`_submitted_by`, index) %>%
rename(
"Responsável" = `_submitted_by`,
"ID" = index,
"Declarado" = municipio_declarado,
"Georreferenciado" = municipio_georref
)
# 2. Criar documento Word
doc <- read_docx() %>%
# Título
body_add_par("RELATÓRIO DE DISCREPÂNCIAS", style = "heading 1") %>%
body_add_par(paste("Gerado em:", format(Sys.Date(), "%d/%m/%Y")), style = "Normal") %>%
body_add_par("\n", style = "Normal") %>%
# Criar tabela manualmente
body_add_table(
value = tabela_word,
style = "Normal Table", # Usa estilo pré-definido do Word
header = TRUE,
alignment = c("l", "c", "l", "l") # Alinhamento: esquerda, centro, esquerda, esquerda
) %>%
# Rodapé
body_add_par("\n", style = "Normal") %>%
body_add_par(paste("Total de registros:", nrow(tabela_word)), style = "Normal")
# 3. Salvar documento
print(doc, target = "discrepancias_simples.docx")
Mapa das discrepâncias
library(dplyr)
library(leaflet)
library(htmlwidgets)
# Criar o mapa com informações completas
mapa_discrepancias <- leaflet(discrepancias3) %>%
addTiles() %>% # Mapa base OpenStreetMap
# Adicionar marcadores com informações completas
addCircleMarkers(
lng = ~lon_original,
lat = ~lat_original,
color = "#3388ff", # Azul padrão do Leaflet
radius = 7,
fillOpacity = 0.8,
popup = ~paste("<b>Declarado:</b>", municipio_declarado, "<br>",
"<b>Georreferenciado:</b>", municipio_georref, "<br>",
"<b>Index:</b>", index, "<br>",
"<b>Entrevistador:</b>", `_submitted_by`),
label = ~paste("Declarado:", municipio_declarado,
"| Georreferenciado:", municipio_georref,
"| Entrevistador:", `_submitted_by`)
) %>%
# Adicionar título
addControl(
"<strong>Discrepâncias de Georreferenciamento</strong>",
position = "topright",
className = "map-title" # Classe CSS para estilização opcional
) %>%
# Adicionar barra de escala
addScaleBar(position = "bottomleft")
# Salvar o mapa como HTML
saveWidget(mapa_discrepancias, "mapa_discrepancias.html",
title = "Mapa de Discrepâncias de Georreferenciamento")
# Visualizar o mapa
mapa_discrepancias
library(ggplot2)
library(dplyr)
# Função para salvar gráficos
salvar_grafico <- function(grafico, nome_arquivo) {
ggsave(paste0(nome_arquivo, ".png"),
plot = grafico,
width = 8,
height = 6,
dpi = 300)
}
# a) Grupo amostral
j1 <- ggplot(p2, aes(x = `Grupo amostral`)) +
geom_bar(fill = "steelblue") +
geom_text(stat = 'count', aes(label = after_stat(count)),
vjust = -0.5, size = 3.5) + # Adiciona contagem em cima das barras
labs(title = "Distribuição do Grupo Amostral",
x = "",
y = "Contagem") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 0, hjust = 0.5, size = 10)) # Aumenta tamanho dos ticks
# b) Principal meio de transporte
j2 <- ggplot(p2, aes(x = `Principal meio de transporte utilizado para sair da propriedade`)) +
geom_bar(fill = "darkorange") +
geom_text(stat = 'count', aes(label = after_stat(count)),
vjust = -0.5, size = 3.5) +
labs(title = "Principal Meio de Transporte",
x = "",
y = "Contagem") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 0, hjust = 0.5, size = 10))
# c) Estado das estradas
j3 <- ggplot(p2, aes(x = `Estado das estradas que ligam a propriedade a esses lugares:`)) +
geom_bar(fill = "forestgreen") +
geom_text(stat = 'count', aes(label = after_stat(count)),
vjust = -0.5, size = 3.5) +
labs(title = "Estado das Estradas",
x = "",
y = "Contagem") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 0, hjust = 0.5, size = 10))
# Salvar gráficos
#salvar_grafico(j1, "grupo_amostral")
salvar_grafico(j2, "meio_transporte")
salvar_grafico(j3, "estado_estradas")
# Exibir gráficos
#print(j1)
print(j2)
print(j3)
# 1. Converter para número (maneira simples)
p2$tempo_centro <- as.numeric(p2$`Tempo de deslocamento médio (minutos) até o CENTRO URBANO mais próximo`)
# 2. Ver os números básicos
cat("--- Resumo do Tempo de Deslocamento ---\n")
## --- Resumo do Tempo de Deslocamento ---
print(summary(p2$tempo_centro))
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.00 15.00 20.00 24.76 30.00 180.00
# 3. Identificar valores extremos (simplificado)
media <- mean(p2$tempo_centro, na.rm = TRUE)
desvio <- sd(p2$tempo_centro, na.rm = TRUE)
# Valores muito altos (acima de média + 3 desvios)
extremamente_altos <- p2$tempo_centro > (media + 3*desvio)
cat("\nValores extremamente altos:\n")
##
## Valores extremamente altos:
print(p2[extremamente_altos, c("index", "_submitted_by", "tempo_centro")])
## # A tibble: 11 × 3
## index `_submitted_by` tempo_centro
## <dbl> <chr> <dbl>
## 1 56 renatabenicio 90
## 2 134 renatabenicio 120
## 3 189 ismaellandim 90
## 4 265 anaclaudia1 120
## 5 282 ismaellandim 180
## 6 308 anaclaudia1 120
## 7 328 andrefbrandao 120
## 8 397 anaclaudia1 120
## 9 628 jayane_freires 120
## 10 694 ismaellandim 120
## 11 742 renatabenicio 120
# 4. Gráfico básico
boxplot(p2$tempo_centro,
main = "Tempo até o Centro Urbano (minutos)",
ylab = "Minutos",
col = "lightblue")
ggplot(p2, aes(y = tempo_centro)) +
geom_boxplot(fill = "lightblue") +
labs(title = "Tempo até o Centro Urbano (minutos)",
y = "Minutos") +
theme_minimal()
ggsave("bx1.png",
plot = last_plot(),
width = 8, height = 6, dpi = 300)
print(p2[p2$tempo_centro > 50, c("tempo_centro", "Principal meio de transporte utilizado para sair da propriedade")])
## # A tibble: 54 × 2
## tempo_centro Principal meio de transporte utilizado para sair da propriedad…¹
## <dbl> <chr>
## 1 90 Motocicleta
## 2 60 Transporte público
## 3 60 Motocicleta
## 4 60 Automóvel
## 5 60 A pé
## 6 60 A pé
## 7 60 Transporte público
## 8 120 Motocicleta
## 9 60 Motocicleta
## 10 90 Motocicleta
## # ℹ 44 more rows
## # ℹ abbreviated name:
## # ¹`Principal meio de transporte utilizado para sair da propriedade`
dados_grafico <- p2 %>%
filter(tempo_centro > 50) %>%
count(`Principal meio de transporte utilizado para sair da propriedade`) %>%
rename(meio_transporte = `Principal meio de transporte utilizado para sair da propriedade`,
quantidade = n)
ggplot(dados_grafico, aes(x = meio_transporte, y = quantidade)) +
geom_bar(stat = "identity", fill = "steelblue") +
labs(title = "Da amostra que gasta + de 50min até o centro",
x = "",
y = "Quantidade de propriedades") +
theme_minimal() +
theme(
axis.text.x = element_text(angle = 0, hjust = 0.5, size = 12), # Aumentei para size=12
axis.text.y = element_text(size = 10), # Também pode ajustar o eixo Y se quiser
panel.grid.major.x = element_blank(),
panel.grid.minor.x = element_blank(),
plot.title = element_text(size = 14) # Ajuste opcional para o título
) +
geom_text(aes(label = quantidade), vjust = -0.5, size = 3.5)
ggsave("bx3.png",
plot = last_plot(),
width = 8, height = 6, dpi = 300)
library(ggplot2)
library(dplyr)
library(tidyr)
# 1. Filtrar as variáveis de interesse
vars_tempo <- grep("^Tempo de deslocamento médio \\(minutos\\)", names(p2), value = TRUE)
# 2. Função para extrair o destino (versão revisada)
extrair_destino <- function(x) {
# Padrão que captura apenas texto em maiúsculas (com possíveis espaços, pontos e acentos)
gsub(".*até (o|a) ([A-ZÀ-Ú\\s\\.]+) .*", "\\2", x)
}
# 3. Verificação dos nomes extraídos
nomes_extraidos <- sapply(vars_tempo, extrair_destino)
print("Nomes extraídos:")
## [1] "Nomes extraídos:"
print(data.frame(Variável_Original = vars_tempo, Nome_Extraído = nomes_extraidos))
## Variável_Original
## Tempo de deslocamento médio (minutos) até o CENTRO URBANO mais próximo Tempo de deslocamento médio (minutos) até o CENTRO URBANO mais próximo
## Tempo de deslocamento médio (minutos) até a ESCOLA PÚBLICA mais próxima Tempo de deslocamento médio (minutos) até a ESCOLA PÚBLICA mais próxima
## Tempo de deslocamento médio (minutos) até o SERVIÇO DE SAÚDE mais próximo Tempo de deslocamento médio (minutos) até o SERVIÇO DE SAÚDE mais próximo
## Tempo de deslocamento médio (minutos) até a RODOVIA asfaltada/pavimentada mais próxima Tempo de deslocamento médio (minutos) até a RODOVIA asfaltada/pavimentada mais próxima
## Tempo de deslocamento médio (minutos) até o LOCAL DE VENDA DE INSUMOS AGROPECUÁRIOS mais próximo Tempo de deslocamento médio (minutos) até o LOCAL DE VENDA DE INSUMOS AGROPECUÁRIOS mais próximo
## Tempo de deslocamento médio (minutos) até a UNIDADE DE ARMAZENAMENTO DE PRODUTOS AGROPECUÁRIOS mais próxima Tempo de deslocamento médio (minutos) até a UNIDADE DE ARMAZENAMENTO DE PRODUTOS AGROPECUÁRIOS mais próxima
## Tempo de deslocamento médio (minutos) até a UNIDADE. DE BENEFICIAMENTO DE PRODUTOS AGROPECUÁRIOS mais próxima Tempo de deslocamento médio (minutos) até a UNIDADE. DE BENEFICIAMENTO DE PRODUTOS AGROPECUÁRIOS mais próxima
## Tempo de deslocamento médio (minutos) até o LOCAL DE COMERCIALIZAÇÃO DE PRODUTOS AGROPECUÁRIOS de produtos agropecuários mais próximo Tempo de deslocamento médio (minutos) até o LOCAL DE COMERCIALIZAÇÃO DE PRODUTOS AGROPECUÁRIOS de produtos agropecuários mais próximo
## Tempo de deslocamento médio (minutos) até a INSTITUIÇÃO FINANCEIRA mais próxima Tempo de deslocamento médio (minutos) até a INSTITUIÇÃO FINANCEIRA mais próxima
## Tempo de deslocamento médio (minutos) até a CONEXÃO DE INTERNET mais próxima Tempo de deslocamento médio (minutos) até a CONEXÃO DE INTERNET mais próxima
## Nome_Extraído
## Tempo de deslocamento médio (minutos) até o CENTRO URBANO mais próximo CENTRO
## Tempo de deslocamento médio (minutos) até a ESCOLA PÚBLICA mais próxima ESCOLA
## Tempo de deslocamento médio (minutos) até o SERVIÇO DE SAÚDE mais próximo SERVIÇO
## Tempo de deslocamento médio (minutos) até a RODOVIA asfaltada/pavimentada mais próxima RODOVIA
## Tempo de deslocamento médio (minutos) até o LOCAL DE VENDA DE INSUMOS AGROPECUÁRIOS mais próximo LOCAL
## Tempo de deslocamento médio (minutos) até a UNIDADE DE ARMAZENAMENTO DE PRODUTOS AGROPECUÁRIOS mais próxima UNIDADE
## Tempo de deslocamento médio (minutos) até a UNIDADE. DE BENEFICIAMENTO DE PRODUTOS AGROPECUÁRIOS mais próxima UNIDADE.
## Tempo de deslocamento médio (minutos) até o LOCAL DE COMERCIALIZAÇÃO DE PRODUTOS AGROPECUÁRIOS de produtos agropecuários mais próximo LOCAL
## Tempo de deslocamento médio (minutos) até a INSTITUIÇÃO FINANCEIRA mais próxima INSTITUIÇÃO
## Tempo de deslocamento médio (minutos) até a CONEXÃO DE INTERNET mais próxima CONEXÃO
# 4. Criar gráficos individuais (apenas se os nomes estiverem corretos)
for(var in vars_tempo) {
titulo <- extrair_destino(var)
cat("\nCriando gráfico para:", var, "->", titulo, "\n") # Mensagem de debug
p <- p2 %>%
mutate(tempo = as.numeric(.[[var]])) %>%
filter(!is.na(tempo), tempo >= 0) %>%
ggplot(aes(y = tempo)) +
geom_boxplot(fill = "lightblue", color = "darkblue", alpha = 0.7) +
labs(title = titulo, y = "Tempo (minutos)", x = "") +
theme_minimal() +
theme(
plot.title = element_text(size = 12, face = "bold", hjust = 0.5),
axis.text.x = element_blank()
)
print(p)
}
##
## Criando gráfico para: Tempo de deslocamento médio (minutos) até o CENTRO URBANO mais próximo -> CENTRO
##
## Criando gráfico para: Tempo de deslocamento médio (minutos) até a ESCOLA PÚBLICA mais próxima -> ESCOLA
##
## Criando gráfico para: Tempo de deslocamento médio (minutos) até o SERVIÇO DE SAÚDE mais próximo -> SERVIÇO
##
## Criando gráfico para: Tempo de deslocamento médio (minutos) até a RODOVIA asfaltada/pavimentada mais próxima -> RODOVIA
##
## Criando gráfico para: Tempo de deslocamento médio (minutos) até o LOCAL DE VENDA DE INSUMOS AGROPECUÁRIOS mais próximo -> LOCAL
##
## Criando gráfico para: Tempo de deslocamento médio (minutos) até a UNIDADE DE ARMAZENAMENTO DE PRODUTOS AGROPECUÁRIOS mais próxima -> UNIDADE
##
## Criando gráfico para: Tempo de deslocamento médio (minutos) até a UNIDADE. DE BENEFICIAMENTO DE PRODUTOS AGROPECUÁRIOS mais próxima -> UNIDADE.
##
## Criando gráfico para: Tempo de deslocamento médio (minutos) até o LOCAL DE COMERCIALIZAÇÃO DE PRODUTOS AGROPECUÁRIOS de produtos agropecuários mais próximo -> LOCAL
##
## Criando gráfico para: Tempo de deslocamento médio (minutos) até a INSTITUIÇÃO FINANCEIRA mais próxima -> INSTITUIÇÃO
##
## Criando gráfico para: Tempo de deslocamento médio (minutos) até a CONEXÃO DE INTERNET mais próxima -> CONEXÃO
# 5. Gráfico combinado (se aplicável)
if(length(vars_tempo) > 0) {
dados_plot <- p2 %>%
select(all_of(vars_tempo)) %>%
pivot_longer(everything(), names_to = "variavel", values_to = "tempo") %>%
mutate(
tempo = as.numeric(tempo),
destino = extrair_destino(variavel)
) %>%
filter(!is.na(tempo), tempo >= 0)
ggplot(dados_plot, aes(x = reorder(destino, tempo, median), y = tempo)) +
geom_boxplot(fill = "lightblue", alpha = 0.7) +
coord_flip() +
labs(title = "Tempos de deslocamento", x = "", y = "Minutos") +
theme_minimal()
} else {
message("Nenhuma variável válida encontrada!")
}
dados_plot
## # A tibble: 6,608 × 3
## variavel tempo destino
## <chr> <dbl> <chr>
## 1 Tempo de deslocamento médio (minutos) até o CENTRO URBANO mais… 10 CENTRO
## 2 Tempo de deslocamento médio (minutos) até a ESCOLA PÚBLICA mai… 10 ESCOLA
## 3 Tempo de deslocamento médio (minutos) até o SERVIÇO DE SAÚDE m… 10 SERVIÇO
## 4 Tempo de deslocamento médio (minutos) até a RODOVIA asfaltada/… 10 RODOVIA
## 5 Tempo de deslocamento médio (minutos) até o LOCAL DE VENDA DE … 10 LOCAL
## 6 Tempo de deslocamento médio (minutos) até a UNIDADE DE ARMAZEN… 10 UNIDADE
## 7 Tempo de deslocamento médio (minutos) até a UNIDADE. DE BENEFI… 10 UNIDAD…
## 8 Tempo de deslocamento médio (minutos) até o LOCAL DE COMERCIAL… 10 LOCAL
## 9 Tempo de deslocamento médio (minutos) até a INSTITUIÇÃO FINANC… 10 INSTIT…
## 10 Tempo de deslocamento médio (minutos) até a CONEXÃO DE INTERNE… 0 CONEXÃO
## # ℹ 6,598 more rows
dados_plot
## # A tibble: 6,608 × 3
## variavel tempo destino
## <chr> <dbl> <chr>
## 1 Tempo de deslocamento médio (minutos) até o CENTRO URBANO mais… 10 CENTRO
## 2 Tempo de deslocamento médio (minutos) até a ESCOLA PÚBLICA mai… 10 ESCOLA
## 3 Tempo de deslocamento médio (minutos) até o SERVIÇO DE SAÚDE m… 10 SERVIÇO
## 4 Tempo de deslocamento médio (minutos) até a RODOVIA asfaltada/… 10 RODOVIA
## 5 Tempo de deslocamento médio (minutos) até o LOCAL DE VENDA DE … 10 LOCAL
## 6 Tempo de deslocamento médio (minutos) até a UNIDADE DE ARMAZEN… 10 UNIDADE
## 7 Tempo de deslocamento médio (minutos) até a UNIDADE. DE BENEFI… 10 UNIDAD…
## 8 Tempo de deslocamento médio (minutos) até o LOCAL DE COMERCIAL… 10 LOCAL
## 9 Tempo de deslocamento médio (minutos) até a INSTITUIÇÃO FINANC… 10 INSTIT…
## 10 Tempo de deslocamento médio (minutos) até a CONEXÃO DE INTERNE… 0 CONEXÃO
## # ℹ 6,598 more rows
dados_plot <- dados_plot %>%
mutate(nome = case_when(
destino == "CENTRO" ~ "Centro Urbano",
destino == "CONEXÃO" ~ "Conexão de Internet",
destino == "ESCOLA" ~ "Escola Pública",
destino == "INSTITUIÇÃO" ~ "Instituição Financeira",
destino == "RODOVIA" ~ "Rodovia",
destino == "UNIDADE" ~ "Unidade de Beneficiamento (Agropec)",
destino == "UNIDADE." ~ "Unidade de Beneficiamento (Agropec)",
destino == "LOCAL" ~ "Local de Venda (Agropec)",
destino == "SERVIÇO" ~ "Serviço de Saúde",
TRUE ~ as.character(destino) # Mantém o valor original se nenhum caso for atendido
))
table(dados_plot$nome)
##
## Centro Urbano Conexão de Internet
## 696 690
## Escola Pública Instituição Financeira
## 695 696
## Local de Venda (Agropec) Rodovia
## 1389 696
## Serviço de Saúde Unidade de Beneficiamento (Agropec)
## 695 1051
ggplot(dados_plot, aes(x = reorder(nome, tempo, median), y = tempo)) +
geom_boxplot(fill = "lightblue", alpha = 0.7) +
coord_flip() +
labs(title = "Tempos de deslocamento até...", x = "", y = "Minutos") +
theme_minimal()
ggsave("bx5.png",
plot = last_plot(),
width = 8, height = 6, dpi = 300)
Uma coisa que a gente vai ter que olhar é se controle e tratamento são diferentes…
variaveis_recebimento <- grep("recebimento", names(p2), value = TRUE, ignore.case = TRUE)
p3 <- p2 %>% select(`Grupo amostral`, all_of(variaveis_recebimento))
p4 <- p3 %>%
select(where(~!all(is.na(.))))
variaveis_recebimento2 <- grep("recebimento", names(p4), value = TRUE, ignore.case = TRUE)
library(dplyr)
library(ggplot2)
library(tidyr)
# 1. Selecionar variáveis e recodificar (NAs viram 0)
p4 <- p4 %>%
select(`Grupo amostral`, all_of(variaveis_recebimento2)) %>%
mutate(across(all_of(variaveis_recebimento2),
~ ifelse(. == "Sim", 1, 0) %>% replace_na(0)))
# 2. Calcular proporções por grupo
prop_recebimento <- p4 %>%
group_by(`Grupo amostral`) %>%
summarise(across(all_of(variaveis_recebimento2),
~ mean(., na.rm = TRUE))) %>%
pivot_longer(cols = -`Grupo amostral`,
names_to = "Variavel",
values_to = "Proporcao")
p6<- prop_recebimento
library(stringr)
library(dplyr)
# Substituir os textos
p6 <- p6 %>%
mutate(Variavel = str_replace_all(Variavel,
"Recebimento de (assistência sobre a|assistência técnica para as|qualquer tipo de assistência técnica)( técnica)?",
"RAT"))
p6 <- p6 %>%
mutate(Variavel = str_replace_all(Variavel,
"julho de 2022 e setembro de 2023",
"(jul-22;set-23)"))
ggplot(p6,
aes(y = reorder(Variavel, Proporcao), # Mapeia para o eixo y
x = Proporcao, # Mapeia para o eixo x
fill = `Grupo amostral`)) +
geom_col(position = position_dodge()) +
geom_text(aes(label = scales::percent(Proporcao, accuracy = 1)),
position = position_dodge(width = 0.9),
hjust = -0.1, # Ajuste horizontal para os rótulos
size = 3) +
scale_x_continuous(labels = scales::percent,
expand = expansion(mult = c(0, 0.1))) + # Espaço para os rótulos
labs(title = "Proporção de Recebimento por Grupo",
y = "", # Remove o rótulo do eixo y
x = "Proporção de 'Sim'",
fill = "") +
theme_minimal() +
theme(axis.text.y = element_text(hjust = 0), # Alinha texto à esquerda
legend.position = "top")
ggsave("bx8.png",
plot = last_plot(),
width = 12, height = 6, dpi = 300)
p11 <- p2 %>%
select(`Três principais dificuldades`, `Grupo amostral`) %>%
mutate(
chuva = ifelse(
is.na(`Três principais dificuldades`),
0,
as.integer(str_detect(tolower(`Três principais dificuldades`), "chuva"))
)
)
# Primeiro criamos um resumo dos dados
dados_resumo <- p11 %>%
group_by(`Grupo amostral`) %>%
summarise(
total = n(),
com_chuva = sum(chuva),
proporcao = mean(chuva)
)
# Gráfico de barras da proporção
ggplot(dados_resumo, aes(x = `Grupo amostral`, y = proporcao, fill = `Grupo amostral`)) +
geom_col() +
geom_text(aes(label = scales::percent(proporcao, accuracy = 0.1)),
vjust = -0.5, size = 4) +
scale_y_continuous(labels = scales::percent, limits = c(0, 1)) +
labs(title = "Proporção de menções a 'chuva' como dificuldade",
x = "",
y = "Proporção",
fill = "Grupo") +
theme_minimal() +
theme(legend.position = "none",
axis.text.x = element_text(angle = 0, hjust = 0.45))
ggsave("bx12.png",
plot = last_plot(),
width = 8, height = 6, dpi = 300)
Agora é preciso saber se os dados do logframe existem
Jeito de achar isso? Dos que foram tratados, olhar se
nomes<-as.data.frame(names(p2))
variaveis_recebimento <- grep("recebimento", names(p2), value = TRUE, ignore.case = TRUE)
recebimento_var<-as.data.frame(variaveis_recebimento)
table(p2$`Você ou alguém do seu domicílio participou de eventos, reuniões ou fóruns sobre políticas públicas ligadas à agricultura de baixo carbono entre julho de 2022 e setembro de 2023?`)
##
## Não Não sabe Sim
## 95 15 154
table(p2$`Grupo amostral`)
##
## Controle Spillover Tratamento
## 364 68 264
table(p2$`Grupo amostral`)
##
## Controle Spillover Tratamento
## 364 68 264
d12 <- p2 %>%
count(`Você ou alguém do seu domicílio participou de eventos, reuniões ou fóruns sobre políticas públicas ligadas à agricultura de baixo carbono entre julho de 2022 e setembro de 2023?`,`Grupo amostral`)
ggplot(p2, aes(x = `Você ou alguém do seu domicílio participou de eventos, reuniões ou fóruns sobre políticas públicas ligadas à agricultura de baixo carbono entre julho de 2022 e setembro de 2023?`,
fill = `Grupo amostral`)) +
geom_bar(position = "dodge") +
labs(title = "Participação em eventos de agricultura de baixo carbono",
subtitle = "Por grupo amostral (jul/2022-set/2023)",
x = "",
y = "Domicílios (#)",
fill = "") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 0, hjust = 0.5),
legend.position = "bottom") +
scale_fill_brewer(palette = "Set2") +
geom_text(aes(label = ..count..),
stat = "count",
position = position_dodge(width = 0.9),
vjust = -0.5,
size = 3)
## Warning: The dot-dot notation (`..count..`) was deprecated in ggplot2 3.4.0.
## ℹ Please use `after_stat(count)` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
ggsave("logframe1.png",
plot = last_plot(),
width = 8, height = 6, dpi = 300)
# Carregar bibliotecas necessárias
library(ggplot2)
library(dplyr)
library(scales)
## Warning: package 'scales' was built under R version 4.3.3
##
## Attaching package: 'scales'
## The following object is masked from 'package:purrr':
##
## discard
## The following object is masked from 'package:readr':
##
## col_factor
# Filtrar apenas o grupo de tratamento
p2_tratamento <- p2 %>%
filter(`Grupo amostral` == "Tratamento")
# Calcular totais e percentuais
dados_participacao <- p2_tratamento %>%
count(`Você ou alguém do seu domicílio participou de eventos, reuniões ou fóruns sobre políticas públicas ligadas à agricultura de baixo carbono entre julho de 2022 e setembro de 2023?`) %>%
mutate(Percentual = n / sum(n) * 100,
Rótulo = paste0(n, " (", round(Percentual, 1), "%)"))
# Criar o gráfico
ggplot(dados_participacao, aes(
x = `Você ou alguém do seu domicílio participou de eventos, reuniões ou fóruns sobre políticas públicas ligadas à agricultura de baixo carbono entre julho de 2022 e setembro de 2023?`,
y = n,
fill = `Você ou alguém do seu domicílio participou de eventos, reuniões ou fóruns sobre políticas públicas ligadas à agricultura de baixo carbono entre julho de 2022 e setembro de 2023?`)) +
geom_col(width = 0.6, alpha = 0.8) +
geom_text(aes(label = Rótulo),
vjust = -0.5,
size = 4.5) +
labs(title = "Participação em eventos de agricultura de baixo carbono",
subtitle = "Apenas grupo de tratamento",
x = "",
y = "Número de domicílios",
caption = "Fonte: Dados da pesquisa") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 0, hjust = 0.5, size = 11),
legend.position = "none",
plot.title = element_text(size = 16, hjust = 0.5),
plot.subtitle = element_text(size = 12, hjust = 0.5),
panel.grid.major.x = element_blank(),
panel.grid.minor.y = element_blank()) +
scale_fill_manual(values = c("Sim" = "#1b7837", "Não" = "#fc8d62")) +
scale_y_continuous(expand = expansion(mult = c(0, 0.15)), limits = c(0, max(dados_participacao$n) * 1.1))
# Salvar o gráfico
ggsave("participacao_eventos_tratamento.png", width = 9, height = 7, dpi = 300)
# Carregar bibliotecas necessárias
library(ggplot2)
library(dplyr)
library(tidyr)
library(scales)
# Filtrar apenas o grupo de tratamento
p2_tratamento <- p2 %>%
filter(`Grupo amostral` == "Tratamento")
# Calcular totais e percentuais para cada indicador
dados_indicadores <- p2_tratamento %>%
summarise(
Eventos = sum(`Você ou alguém do seu domicílio participou de eventos, reuniões ou fóruns sobre políticas públicas ligadas à agricultura de baixo carbono entre julho de 2022 e setembro de 2023?` == "Sim", na.rm = TRUE),
Cursos = sum(`Participação em cursos, capacitações ou visitas técnicas sobre ABC` == "Sim", na.rm = TRUE),
Conhecimento = sum(!is.na(`Conhecimento sobre práticas de ABC`), na.rm = TRUE),
Total = n()
) %>%
mutate(
Eventos_perc = Eventos / Total * 100,
Cursos_perc = Cursos / Total * 100,
Conhecimento_perc = Conhecimento / Total * 100
) %>%
select(Eventos, Cursos, Conhecimento, Total, Eventos_perc, Cursos_perc, Conhecimento_perc) %>%
pivot_longer(cols = c(Eventos, Cursos, Conhecimento),
names_to = "Indicador",
values_to = "Contagem") %>%
mutate(
Percentual = case_when(
Indicador == "Eventos" ~ Eventos_perc,
Indicador == "Cursos" ~ Cursos_perc,
Indicador == "Conhecimento" ~ Conhecimento_perc
),
Rótulo = paste0(Contagem, " (", round(Percentual, 1), "%)"),
Indicador = factor(Indicador,
levels = c("Eventos", "Cursos", "Conhecimento"),
labels = c("Participou de eventos\nsobre políticas ABC",
"Participou de cursos/\ncapacitações ABC",
"Tem conhecimento sobre\npráticas ABC"))
)
# Criar o gráfico
ggplot(dados_indicadores, aes(x = Indicador, y = Percentual, fill = Indicador)) +
geom_col(width = 0.7, alpha = 0.8) +
geom_text(aes(label = Rótulo),
vjust = -0.5,
size = 4.5) +
labs(title = "Participação e Conhecimento em Agricultura de Baixo Carbono",
subtitle = paste("Grupo de Tratamento -", unique(dados_indicadores$Total), "domicílios"),
x = "",
y = "Percentual de domicílios (%)",
caption = "Fonte: Dados da pesquisa") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 0, hjust = 0.5, size = 11),
legend.position = "none",
plot.title = element_text(size = 16, hjust = 0.5),
plot.subtitle = element_text(size = 12, hjust = 0.5),
panel.grid.major.x = element_blank(),
panel.grid.minor.y = element_blank()) +
scale_fill_manual(values = c("#1b7837", "#5ab4ac", "#d8b365")) +
scale_y_continuous(expand = expansion(mult = c(0, 0.15)),
limits = c(0, max(dados_indicadores$Percentual) * 1.1),
labels = function(x) paste0(x, "%"))
# Salvar o gráfico
ggsave("participacao_conhecimento_abc_tratamento.png", width = 10, height = 7, dpi = 300)
# Carregar bibliotecas necessárias
library(ggplot2)
library(dplyr)
library(scales)
# Filtrar apenas o grupo de tratamento
p2_tratamento <- p2 %>%
filter(`Grupo amostral` == "Tratamento")
# Calcular domicílios que atenderam a pelo menos um critério (corrigido)
p2_tratamento <- p2_tratamento %>%
mutate(
participacao = case_when(
`Você ou alguém do seu domicílio participou de eventos, reuniões ou fóruns sobre políticas públicas ligadas à agricultura de baixo carbono entre julho de 2022 e setembro de 2023?` == "Sim" |
`Participação em cursos, capacitações ou visitas técnicas sobre ABC` == "Sim" |
!is.na(`Conhecimento sobre práticas de ABC`) ~ "Sim",
TRUE ~ "Não/NA"
)
)
# Calcular totais e percentuais
dados_resumo <- p2_tratamento %>%
count(participacao) %>%
mutate(Percentual = n / sum(n) * 100,
Rótulo = paste0(n, " (", round(Percentual, 1), "%)"))
# Verificar o resultado
print(dados_resumo)
## # A tibble: 2 × 4
## participacao n Percentual Rótulo
## <chr> <int> <dbl> <chr>
## 1 Não/NA 23 8.71 23 (8.7%)
## 2 Sim 241 91.3 241 (91.3%)
# Total de domicílios
total_domicilios <- nrow(p2_tratamento)
# Criar o gráfico com 2 categorias
ggplot(dados_resumo, aes(x = participacao, y = Percentual, fill = participacao)) +
geom_col(width = 0.6, alpha = 0.8) +
geom_text(aes(label = Rótulo),
vjust = -0.5,
size = 5) +
labs(title = "Domicílios que ou participaram de treinamento (ABC) \n ou de capacitação ou conhecem as técnicas",
subtitle = paste("Grupo de Tratamento -", total_domicilios, "domicílios totais"),
x = "",
y = "Percentual de domicílios (%)",
caption = "Sim para pelo menos um dos critérios (participação, capacitação, conhecimento)") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 0, hjust = 0.5, size = 12),
legend.position = "none",
plot.title = element_text(size = 16, hjust = 0.5),
plot.subtitle = element_text(size = 12, hjust = 0.5),
panel.grid.major.x = element_blank(),
panel.grid.minor.y = element_blank()) +
scale_fill_manual(values = c("Não/NA" = "#762a83", "Sim" = "#1b7837")) +
scale_x_discrete(labels = c("Não/Não sabe", "Sim")) +
scale_y_continuous(expand = expansion(mult = c(0, 0.15)),
limits = c(0, max(dados_resumo$Percentual) * 1.1),
labels = function(x) paste0(x, "%"))
# Salvar o gráfico
ggsave("participacao_abc_2_categorias_corrigido.png", width = 9, height = 7, dpi = 300)
p20<-p2 %>% filter(`Grupo amostral`=="Tratamento")
ggplot(p20, aes(
x = `Você ou alguém do seu domicílio participou de eventos, reuniões ou fóruns sobre políticas públicas ligadas à agricultura de baixo carbono entre julho de 2022 e setembro de 2023?`,
fill = factor(`Sua propriedade participou do Projeto como alguma das seguintes unidades?/Sim, como Unidade Demonstrativa (UD) - Usada como exemplo para demonstrar práticas do Projeto`)
)) +
geom_bar(position = "dodge") +
labs(
title = "Participação em eventos de agricultura de baixo carbono - somente tratados",
subtitle = "Por grupo amostral (jul/2022-set/2023)",
x = "",
y = "Domicílios (#)",
fill = ""
) +
theme_minimal() +
theme(
axis.text.x = element_text(angle = 0, hjust = 0.5),
legend.position = "bottom"
) +
scale_fill_manual(
values = c("0" = "#66c2a5", "1" = "#fc8d62"), # Cores para 0 e 1
labels = c("0" = "Unidade Multiplicadora", "1" = "Unidade Demonstrativa (UD)") # Rótulos personalizados
) +
geom_text(
aes(label = ..count..),
stat = "count",
position = position_dodge(width = 0.9),
vjust = -0.5,
size = 3
)
ggsave("logframe20.png",
plot = last_plot(),
width = 8, height = 6, dpi = 300)
Para garantir que isso é resultado do programa, a gente vai olhar a linha de base.
load("d11.Rda")
abc <- as.data.frame(grep("abc", names(p2), value = TRUE, ignore.case = TRUE))
julho <- as.data.frame(grep("julho", names(p2), value = TRUE, ignore.case = TRUE))
ggplot(p2, aes(x = `Participação em cursos, capacitações ou visitas técnicas sobre ABC`,
fill = `Grupo amostral`)) +
geom_bar(position = "dodge") +
labs(title = "Participação em cursos, capacitações ou visitas técnicas sobre ABC",
subtitle = "",
x = "",
y = "Domicílios (#)",
fill = "") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 0, hjust = 0.5),
legend.position = "bottom") +
scale_fill_brewer(palette = "Set2") +
geom_text(aes(label = ..count..),
stat = "count",
position = position_dodge(width = 0.9),
vjust = -0.5,
size = 3)
ggsave("logframe2.png",
plot = last_plot(),
width = 8, height = 6, dpi = 300)
ggplot(p2, aes(x = `Recebimento de qualquer tipo de assistência técnica entre julho de 2022 e setembro de 2023`,
fill = `Grupo amostral`)) +
geom_bar(position = "dodge") +
labs(title = "Recebimento de qualquer tipo de assistência técnica",
subtitle = "julho de 2022 e setembro de 2023",
x = "",
y = "Domicílios (#)",
fill = "") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 0, hjust = 0.5),
legend.position = "bottom") +
scale_fill_brewer(palette = "Set2") +
geom_text(aes(label = ..count..),
stat = "count",
position = position_dodge(width = 0.9),
vjust = -0.5,
size = 3)
ggsave("logframe3.png",
plot = last_plot(),
width = 8, height = 6, dpi = 300)
Número de produtores com conhecimento aumentado sobre práticas sustentáveis e agricultura de baixo carbono
Número de produtores com maior capacidade de acesso ao crédito rural
Número de jovens treinados em agricultura de baixo carbono
ggplot(p2, aes(x = `Algum jovem do domicílio participou de treinamento ou capacitação em práticas de Agricultura de Baixa Emissão de Carbono (ABC) entre julho de 2022 e setembro de 2023?`,
fill = `Grupo amostral`)) +
geom_bar(position = "dodge") +
labs(title = "Algum jovem do domicílio participou de treinamento ou capacitação em práticas de \n Agricultura de Baixa Emissão de Carbono (ABC)?",
subtitle = "julho de 2022 e setembro de 2023",
x = "",
y = "Domicílios (#)",
fill = "") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 0, hjust = 0.5),
legend.position = "bottom") +
scale_fill_brewer(palette = "Set2") +
geom_text(aes(label = ..count..),
stat = "count",
position = position_dodge(width = 0.9),
vjust = -0.5,
size = 3)
ggsave("logframe4.png",
plot = last_plot(),
width = 8, height = 6, dpi = 300)
#
ggplot(p2, aes(x = `Alguma mulher do domicílio participou de treinamento ou capacitação em práticas de Agricultura de Baixa Emissão de Carbono (ABC) entre julho de 2022 e setembro de 2023?`,
fill = `Grupo amostral`)) +
geom_bar(position = "dodge") +
labs(title = "Alguma mulher do domicílio participou de treinamento ou capacitação \n em práticas de Agricultura de Baixa Emissão de Carbono (ABC)?",
subtitle = "julho de 2022 e setembro de 2023",
x = "",
y = "Domicílios (#)",
fill = "") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 0, hjust = 0.5),
legend.position = "bottom") +
scale_fill_brewer(palette = "Set2") +
geom_text(aes(label = ..count..),
stat = "count",
position = position_dodge(width = 0.9),
vjust = -0.5,
size = 3)
ggsave("logframe5.png",
plot = last_plot(),
width = 8, height = 6, dpi = 300)
ggplot(p2, aes(x = `Conhecimento sobre Agricultura de Baixa Emissão de Carbono (ABC)`,
fill = `Grupo amostral`)) +
geom_bar(position = "dodge") +
labs(title = "Conhecimento sobre Agricultura de Baixa Emissão de Carbono (ABC)",
subtitle = "",
x = "",
y = "Domicílios (#)",
fill = "") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 0, hjust = 0.5),
legend.position = "bottom") +
scale_fill_brewer(palette = "Set2") +
geom_text(aes(label = ..count..),
stat = "count",
position = position_dodge(width = 0.9),
vjust = -0.5,
size = 3)
ggsave("logframe13.png",
plot = last_plot(),
width = 8, height = 6, dpi = 300)
# Preparar os dados com percentuais em relação ao total de cada resposta
dados_empilhados <- p2 %>%
count(`Conhecimento sobre Agricultura de Baixa Emissão de Carbono (ABC)`, `Grupo amostral`) %>%
group_by(`Conhecimento sobre Agricultura de Baixa Emissão de Carbono (ABC)`) %>%
mutate(percentual = n / sum(n) * 100,
label = paste0(n, " (", round(percentual, 1), "%)"))
# Verificar os dados
print(dados_empilhados)
## # A tibble: 6 × 5
## # Groups: Conhecimento sobre Agricultura de Baixa Emissão de Carbono (ABC)
## # [2]
## Conhecimento sobre Agricultura de Ba…¹ `Grupo amostral` n percentual label
## <chr> <chr> <int> <dbl> <chr>
## 1 Não Controle 326 60.8 326 …
## 2 Não Spillover 56 10.4 56 (…
## 3 Não Tratamento 154 28.7 154 …
## 4 Sim Controle 38 23.8 38 (…
## 5 Sim Spillover 12 7.5 12 (…
## 6 Sim Tratamento 110 68.8 110 …
## # ℹ abbreviated name:
## # ¹`Conhecimento sobre Agricultura de Baixa Emissão de Carbono (ABC)`
# Criar o gráfico empilhado
ggplot(dados_empilhados, aes(x = `Conhecimento sobre Agricultura de Baixa Emissão de Carbono (ABC)`,
y = n,
fill = `Grupo amostral`)) +
geom_col(position = "stack") +
geom_text(aes(label = label),
position = position_stack(vjust = 0.5),
size = 3.5,
color = "black") +
labs(title = "Conhecimento sobre Agricultura de Baixa Emissão de Carbono (ABC)",
subtitle = "",
x = "",
y = "Domicílios (#)",
fill = "") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 0, hjust = 0.5, size = 12),
legend.position = "bottom",
plot.title = element_text(size = 16, hjust = 0.5),
plot.subtitle = element_text(size = 12, hjust = 0.5)) +
scale_fill_brewer(palette = "Set2") +
scale_y_continuous(expand = expansion(mult = c(0, 0.1)))
# Salvar o gráfico
ggsave("conhecimento_abc_empilhado_total_resposta.png",
width = 9, height = 6, dpi = 300)
# Preparar os dados com percentuais de 100% para cada grupo amostral
dados_100pct <- p2 %>%
count(`Grupo amostral`, `Conhecimento sobre Agricultura de Baixa Emissão de Carbono (ABC)`) %>%
group_by(`Grupo amostral`) %>%
mutate(percentual = n / sum(n) * 100,
label = paste0(n, " (", round(percentual, 1), "%)"))
# Inverter a ordem dos níveis do fator para trocar as cores
dados_100pct$`Conhecimento sobre Agricultura de Baixa Emissão de Carbono (ABC)` <- factor(
dados_100pct$`Conhecimento sobre Agricultura de Baixa Emissão de Carbono (ABC)`,
levels = c("Não", "Sim") # Invertendo a ordem
)
# Criar o gráfico de barras empilhadas 100%
ggplot(dados_100pct, aes(x = `Grupo amostral`,
y = percentual,
fill = `Conhecimento sobre Agricultura de Baixa Emissão de Carbono (ABC)`)) +
geom_col(position = "stack", width = 0.7) +
geom_text(aes(label = label),
position = position_stack(vjust = 0.5),
size = 4,
color = "black") +
labs(title = "Conhecimento sobre Agricultura de Baixa Emissão de Carbono (ABC)",
subtitle = "Distribuição percentual por grupo amostral",
x = "",
y = "Percentual (%)",
fill = "") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 0, hjust = 0.5, size = 12),
legend.position = "bottom",
plot.title = element_text(size = 16, hjust = 0.5),
plot.subtitle = element_text(size = 12, hjust = 0.5),
panel.grid.major.x = element_blank()) +
scale_fill_brewer(palette = "Set2", direction = -1) + # direction = -1 inverte a paleta
scale_y_continuous(labels = function(x) paste0(x, "%"))
# Salvar o gráfico
ggsave("conhecimento_abc_100pct_grupo_set2_invertido.png",
width = 9, height = 6, dpi = 300)
ggplot(p2, aes(x = `Empréstimos/financiamentos ativos para desenvolver atividades produtivas`, fill = `Grupo amostral`)) +
geom_bar(position = "dodge") +
labs(title = "Empréstimos/financiamentos ativos para desenvolver atividades produtivas",
subtitle = "",
x = "",
y = "Domicílios (#)",
fill = "") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 0, hjust = 0.5),
legend.position = "bottom") +
scale_fill_brewer(palette = "Set2") +
geom_text(aes(label = ..count..),
stat = "count",
position = position_dodge(width = 0.9),
vjust = -0.5,
size = 3)
ggsave("logframe15.png",
plot = last_plot(),
width = 8, height = 6, dpi = 300)
# Preparar os dados com percentuais de 100% para cada grupo amostral
dados_emprestimos <- p2 %>%
count(`Grupo amostral`, `Empréstimos/financiamentos ativos para desenvolver atividades produtivas`) %>%
group_by(`Grupo amostral`) %>%
mutate(percentual = n / sum(n) * 100,
label = paste0(n, " (", round(percentual, 1), "%)"))
# Verificar os dados
print(dados_emprestimos)
## # A tibble: 6 × 5
## # Groups: Grupo amostral [3]
## `Grupo amostral` Empréstimos/financiamentos ativos pa…¹ n percentual label
## <chr> <chr> <int> <dbl> <chr>
## 1 Controle Não 208 57.1 208 …
## 2 Controle Sim 156 42.9 156 …
## 3 Spillover Não 37 54.4 37 (…
## 4 Spillover Sim 31 45.6 31 (…
## 5 Tratamento Não 132 50 132 …
## 6 Tratamento Sim 132 50 132 …
## # ℹ abbreviated name:
## # ¹`Empréstimos/financiamentos ativos para desenvolver atividades produtivas`
# Criar o gráfico de barras empilhadas 100%
ggplot(dados_emprestimos, aes(x = `Grupo amostral`,
y = percentual,
fill = `Empréstimos/financiamentos ativos para desenvolver atividades produtivas`)) +
geom_col(position = "stack", width = 0.7) +
geom_text(aes(label = label),
position = position_stack(vjust = 0.5),
size = 4,
color = "black") +
labs(title = "Há algum financiamento ativo para desenvolver atividades produtivas?",
subtitle = "",
x = "",
y = "Percentual (%)",
fill = "") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 0, hjust = 0.5, size = 12),
legend.position = "bottom",
plot.title = element_text(size = 16, hjust = 0.5),
plot.subtitle = element_text(size = 12, hjust = 0.5),
panel.grid.major.x = element_blank()) +
scale_fill_brewer(palette = "Set2") +
scale_y_continuous(labels = function(x) paste0(x, "%"))
# Salvar o gráfico
ggsave("emprestimos_financiamentos_100pct_grupo_set2.png",
width = 9, height = 6, dpi = 300)
Hectares de terra sob manejo sustentável
Número de agricultores com melhor acesso ao crédito rural
Adicionar renda, pedido do professor Marcelo…
# Calcular o percentual de área preservada por grupo
dados_share <- p2 %>%
mutate(
# Converter ambas as áreas para numérico
Area_total_numeric = as.numeric(gsub(",", ".", `Área total da propriedade`)),
Area_preservacao_numeric = as.numeric(gsub(",", ".", `Área destinada para a preservação ambiental...173`))
) %>%
group_by(`Grupo amostral`) %>%
summarise(
Area_Total_Sum = sum(Area_total_numeric, na.rm = TRUE),
Area_Preservacao_Sum = sum(Area_preservacao_numeric, na.rm = TRUE),
Share_Preservacao = (Area_Preservacao_Sum / Area_Total_Sum) * 100
) %>%
# Remover grupos com valores infinitos ou NA
filter(!is.na(Share_Preservacao), is.finite(Share_Preservacao))
# Gráfico de barras com o share da área preservada
ggplot(dados_share, aes(x = `Grupo amostral`, y = Share_Preservacao, fill = `Grupo amostral`)) +
geom_bar(stat = "identity", position = "dodge") +
labs(title = "Proporção da Área Preservada em Relação à Área Total",
subtitle = "",
x = "",
y = "Proporção da Área Preservada (%)",
fill = "") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 0, hjust = 0.5),
legend.position = "bottom",
plot.title = element_text(hjust = 0.5),
plot.subtitle = element_text(hjust = 0.5)) +
scale_fill_brewer(palette = "Set2") +
geom_text(aes(label = paste0(round(Share_Preservacao, 1), "%")),
position = position_dodge(width = 0.9),
vjust = -0.5,
size = 4,
fontface = "bold") +
scale_y_continuous(labels = function(x) paste0(x, "%")) +
# Ajustar limites do eixo y para melhor visualização
expand_limits(y = max(dados_share$Share_Preservacao) * 1.1)
ggsave("logframe25.png",
plot = last_plot(),
width = 8, height = 6, dpi = 300)
Para saber de outras atividades remuneradas: group_tz76h99
Outras fontes de renda (aposentadoria + BF…): group_vn12c16
Sobre a cultura temporária: group_bi8xw25
Sobre a pecuária: group_cq8jy57
Atividade extrativa: group_wl1fw35
Apicultura…
Cultura permanente…
library(tidyverse)
library(readxl)
library(writexl)
library(loadinstall)
packages <- c("ggplot2", "dplyr", "ggthemes", "data.table", "thematic", "readr", "stringr", "tidyr", "readxl", "ggthemes", "stringdist", "fuzzyjoin", "stringi")
invisible(lapply(packages, dynamic_require))
library(dplyr)
r1 <- read_excel("ultimo.xlsx", sheet = "group_vn12c16")
r2 <- read_excel("ultimo.xlsx", sheet = "group_tz76h99")
r3 <- read_excel("ultimo.xlsx", sheet = "group_bi8xw25")
## New names:
## • `Unidade de área` -> `Unidade de área...4`
## • `Se outra tecnologia, qual?` -> `Se outra tecnologia, qual?...8`
## • `Unidade de área` -> `Unidade de área...12`
## • `Qual a modalidade de contratação/pagamento?` -> `Qual a modalidade de
## contratação/pagamento?...36`
## • `Se outro local, qual?` -> `Se outro local, qual?...58`
## • `Se outro local, qual?` -> `Se outro local, qual?...66`
## • `Se outra tecnologia, qual?` -> `Se outra tecnologia, qual?...69`
## • `Qual a modalidade de contratação/pagamento?` -> `Qual a modalidade de
## contratação/pagamento?...70`
## • `Valor gasto com mão-de-obra de fora da família nos últimos 12 meses` ->
## `Valor gasto com mão-de-obra de fora da família nos últimos 12 meses...71`
## • `Valor gasto com mão-de-obra de fora da família nos últimos 12 meses` ->
## `Valor gasto com mão-de-obra de fora da família nos últimos 12 meses...86`
principal <- read_excel("ultimo.xlsx")
## New names:
## • `Se outro motivo, qual?` -> `Se outro motivo, qual?...20`
## • `A(s) estrada(s) pavimentada(s) liga(m) sua propriedade a qual(is)
## lugar(es)?` -> `A(s) estrada(s) pavimentada(s) liga(m) sua propriedade a
## qual(is) lugar(es)?...50`
## • `Biodigestor` -> `Biodigestor...133`
## • `Unidade de área` -> `Unidade de área...164`
## • `Se outra unidade de área, qual?` -> `Se outra unidade de área, qual?...165`
## • `Área destinada para produção agropecuária` -> `Área destinada para produção
## agropecuária...167`
## • `Unidade de área` -> `Unidade de área...168`
## • `Se outra unidade de área, qual?` -> `Se outra unidade de área, qual?...169`
## • `Área destinada para a preservação ambiental` -> `Área destinada para a
## preservação ambiental...173`
## • `Unidade de área` -> `Unidade de área...174`
## • `Se outra unidade de área, qual?` -> `Se outra unidade de área, qual?...175`
## • `Se outra dificuldade, qual?` -> `Se outra dificuldade, qual?...260`
## • `Se outra dificuldade, qual?` -> `Se outra dificuldade, qual?...266`
## • `Se outra dificuldade, qual?` -> `Se outra dificuldade, qual?...272`
## • `Quais técnicas de recuperação de pastagens degradadas foram utilizadas?` ->
## `Quais técnicas de recuperação de pastagens degradadas foram
## utilizadas?...294`
## • `Quais técnicas de recuperação de pastagens degradadas foram
## utilizadas?/Calcário` -> `Quais técnicas de recuperação de pastagens
## degradadas foram utilizadas?/Calcário...295`
## • `Quais técnicas de recuperação de pastagens degradadas foram
## utilizadas?/Fertilizantes químicos` -> `Quais técnicas de recuperação de
## pastagens degradadas foram utilizadas?/Fertilizantes químicos...296`
## • `Quais técnicas de recuperação de pastagens degradadas foram
## utilizadas?/Outras técnicas` -> `Quais técnicas de recuperação de pastagens
## degradadas foram utilizadas?/Outras técnicas...297`
## • `Se outra dificuldade, qual?` -> `Se outra dificuldade, qual?...308`
## • `Se outra dificuldade, qual?` -> `Se outra dificuldade, qual?...314`
## • `Se outra dificuldade, qual?` -> `Se outra dificuldade, qual?...321`
## • `Se outra dificuldade, qual?` -> `Se outra dificuldade, qual?...327`
## • `Se outra dificuldade, qual?` -> `Se outra dificuldade, qual?...345`
## • `Se outra dificuldade, qual?` -> `Se outra dificuldade, qual?...351`
## • `Biodigestor` -> `Biodigestor...372`
## • `Espécies de peixe criadas na propriedade entre julho de 2022 e setembro de
## 2023/Curimatã` -> `Espécies de peixe criadas na propriedade entre julho de
## 2022 e setembro de 2023/Curimatã...405`
## • `Espécies de peixe criadas na propriedade entre julho de 2022 e setembro de
## 2023/Tilápia` -> `Espécies de peixe criadas na propriedade entre julho de
## 2022 e setembro de 2023/Tilápia...406`
## • `Espécies de peixe criadas na propriedade entre julho de 2022 e setembro de
## 2023/Tilápia` -> `Espécies de peixe criadas na propriedade entre julho de
## 2022 e setembro de 2023/Tilápia...408`
## • `Espécies de peixe criadas na propriedade entre julho de 2022 e setembro de
## 2023/Curimatã` -> `Espécies de peixe criadas na propriedade entre julho de
## 2022 e setembro de 2023/Curimatã...413`
## • `Se outra espécie, qual?` -> `Se outra espécie, qual?...417`
## • `Valor médio de mil alevinos (R$)` -> `Valor médio de mil alevinos
## (R$)...454`
## • `Valor médio de mil alevinos (R$)` -> `Valor médio de mil alevinos
## (R$)...466`
## • `Se outro motivo, qual?` -> `Se outro motivo, qual?...472`
## • `Forma de comercialização dos peixes` -> `Forma de comercialização dos
## peixes...475`
## • `Forma de comercialização dos peixes/Vivo` -> `Forma de comercialização dos
## peixes/Vivo...476`
## • `Forma de comercialização dos peixes/Inteiro` -> `Forma de comercialização
## dos peixes/Inteiro...477`
## • `Forma de comercialização dos peixes/Inteiro eviscerado` -> `Forma de
## comercialização dos peixes/Inteiro eviscerado...478`
## • `Forma de comercialização dos peixes/Congelado` -> `Forma de comercialização
## dos peixes/Congelado...479`
## • `Local de comercialização dos peixes` -> `Local de comercialização dos
## peixes...480`
## • `Local de comercialização dos peixes/No município` -> `Local de
## comercialização dos peixes/No município...482`
## • `Local de comercialização dos peixes/Em municípios vizinhos` -> `Local de
## comercialização dos peixes/Em municípios vizinhos...483`
## • `Local de comercialização dos peixes/No estado` -> `Local de comercialização
## dos peixes/No estado...484`
## • `Local de comercialização dos peixes/Para outros estados` -> `Local de
## comercialização dos peixes/Para outros estados...485`
## • `Local de comercialização dos peixes/Exportação` -> `Local de comercialização
## dos peixes/Exportação...486`
## • `Destinação dos peixes comercializados` -> `Destinação dos peixes
## comercializados...487`
## • `Destinação dos peixes comercializados/Frigoríficos` -> `Destinação dos
## peixes comercializados/Frigoríficos...488`
## • `Destinação dos peixes comercializados/Peixarias` -> `Destinação dos peixes
## comercializados/Peixarias...489`
## • `Destinação dos peixes comercializados/Feiras` -> `Destinação dos peixes
## comercializados/Feiras...490`
## • `Destinação dos peixes comercializados/Supermercados` -> `Destinação dos
## peixes comercializados/Supermercados...491`
## • `Destinação dos peixes comercializados/Consumidor final` -> `Destinação dos
## peixes comercializados/Consumidor final...492`
## • `Destinação dos peixes comercializados/OSP` -> `Destinação dos peixes
## comercializados/OSP...493`
## • `Destinação dos peixes comercializados/Outro destino` -> `Destinação dos
## peixes comercializados/Outro destino...494`
## • `Se outro destino, qual?` -> `Se outro destino, qual?...495`
## • `Aquisição de equipamentos` -> `Aquisição de equipamentos...514`
## • `Equipamentos adquiridos` -> `Equipamentos adquiridos...515`
## • `Equipamentos adquiridos/Outro equipamento` -> `Equipamentos adquiridos/Outro
## equipamento...528`
## • `Se outro equipamento, qual?` -> `Se outro equipamento, qual?...529`
## • `Manutenção de equipamentos` -> `Manutenção de equipamentos...531`
## • `Há contratação de mão-de-obra de fora da família?` -> `Há contratação de
## mão-de-obra de fora da família?...533`
## • `Qual a modalidade de contratação/pagamento?` -> `Qual a modalidade de
## contratação/pagamento?...534`
## • `Área total explorada com extrativismo` -> `Área total explorada com
## extrativismo...542`
## • `Unidade de área` -> `Unidade de área...543`
## • `Se outra unidade de área, qual?` -> `Se outra unidade de área, qual?...544`
## • `Aquisição de equipamentos` -> `Aquisição de equipamentos...552`
## • `Equipamentos adquiridos` -> `Equipamentos adquiridos...553`
## • `Equipamentos adquiridos/Outro equipamento` -> `Equipamentos adquiridos/Outro
## equipamento...562`
## • `Se outro equipamento, qual?` -> `Se outro equipamento, qual?...563`
## • `Manutenção de equipamentos` -> `Manutenção de equipamentos...565`
## • `Há contratação de mão-de-obra de fora da família?` -> `Há contratação de
## mão-de-obra de fora da família?...576`
## • `Qual a modalidade de contratação/pagamento?` -> `Qual a modalidade de
## contratação/pagamento?...577`
## • `Área de floresta plantada na propriedade` -> `Área de floresta plantada na
## propriedade...624`
## • `Unidade de área` -> `Unidade de área...625`
## • `Se outra unidade de área, qual?` -> `Se outra unidade de área, qual?...626`
## • `Se outro motivo, qual?` -> `Se outro motivo, qual?...644`
## • `Nível de satisfação com os serviços de assistência técnica` -> `Nível de
## satisfação com os serviços de assistência técnica...690`
## • `Se outro motivo, qual?` -> `Se outro motivo, qual?...709`
## • `Se outra fonte, qual?` -> `Se outra fonte, qual?...726`
## • `Se outra atividade, qual?` -> `Se outra atividade, qual?...740`
## • `Se outra atividade, qual?` -> `Se outra atividade, qual?...752`
## • `Se outra fonte, qual?` -> `Se outra fonte, qual?...768`
## • `Se outro destino, qual?` -> `Se outro destino, qual?...771`
## • `Mercados de destino da produção gerada na propriedade` -> `Mercados de
## destino da produção gerada na propriedade...784`
## • `Mercados de destino da produção gerada na propriedade/Mercados
## institucionais (PAA, PNAE)` -> `Mercados de destino da produção gerada na
## propriedade/Mercados institucionais (PAA, PNAE)...785`
## • `Mercados de destino da produção gerada na propriedade/Próprio município` ->
## `Mercados de destino da produção gerada na propriedade/Próprio
## município...786`
## • `Mercados de destino da produção gerada na propriedade/Outros municípios no
## mesmo estado` -> `Mercados de destino da produção gerada na
## propriedade/Outros municípios no mesmo estado...787`
## • `Mercados de destino da produção gerada na propriedade/Outros estados` ->
## `Mercados de destino da produção gerada na propriedade/Outros estados...788`
## • `Mercados de destino da produção gerada na propriedade/Exportação` ->
## `Mercados de destino da produção gerada na propriedade/Exportação...789`
## • `Mercados de destino da produção gerada na propriedade/Autoconsumo` ->
## `Mercados de destino da produção gerada na propriedade/Autoconsumo...790`
## • `Meios de comercialização da produção gerada na propriedade` -> `Meios de
## comercialização da produção gerada na propriedade...793`
## • `Meios de comercialização da produção gerada na
## propriedade/Cooperativa/associação` -> `Meios de comercialização da produção
## gerada na propriedade/Cooperativa/associação...794`
## • `Meios de comercialização da produção gerada na propriedade/Indústria` ->
## `Meios de comercialização da produção gerada na propriedade/Indústria...795`
## • `Meios de comercialização da produção gerada na propriedade/Empresa
## integradora` -> `Meios de comercialização da produção gerada na
## propriedade/Empresa integradora...796`
## • `Meios de comercialização da produção gerada na propriedade/Intermediário` ->
## `Meios de comercialização da produção gerada na
## propriedade/Intermediário...797`
## • `Meios de comercialização da produção gerada na propriedade/Governo
## (prefeitura, estado, governo federal)` -> `Meios de comercialização da
## produção gerada na propriedade/Governo (prefeitura, estado, governo
## federal)...798`
## • `Meios de comercialização da produção gerada na propriedade/Consumidor final`
## -> `Meios de comercialização da produção gerada na propriedade/Consumidor
## final...799`
## • `Meios de comercialização da produção gerada na propriedade/Vizinho` ->
## `Meios de comercialização da produção gerada na propriedade/Vizinho...800`
## • `Meios de comercialização da produção gerada na propriedade/Feira livre` ->
## `Meios de comercialização da produção gerada na propriedade/Feira
## livre...801`
## • `Meios de comercialização da produção gerada na propriedade/ONG` -> `Meios de
## comercialização da produção gerada na propriedade/ONG...802`
## • `A(s) estrada(s) pavimentada(s) liga(m) sua propriedade a qual(is)
## lugar(es)?` -> `A(s) estrada(s) pavimentada(s) liga(m) sua propriedade a
## qual(is) lugar(es)?...823`
## • `Área destinada para produção agropecuária` -> `Área destinada para produção
## agropecuária...834`
## • `Área destinada para a preservação ambiental` -> `Área destinada para a
## preservação ambiental...835`
## • `Quais técnicas de recuperação de pastagens degradadas foram utilizadas?` ->
## `Quais técnicas de recuperação de pastagens degradadas foram
## utilizadas?...855`
## • `Quais técnicas de recuperação de pastagens degradadas foram
## utilizadas?/Calcário` -> `Quais técnicas de recuperação de pastagens
## degradadas foram utilizadas?/Calcário...856`
## • `Quais técnicas de recuperação de pastagens degradadas foram
## utilizadas?/Fertilizantes químicos` -> `Quais técnicas de recuperação de
## pastagens degradadas foram utilizadas?/Fertilizantes químicos...857`
## • `Quais técnicas de recuperação de pastagens degradadas foram
## utilizadas?/Outras técnicas` -> `Quais técnicas de recuperação de pastagens
## degradadas foram utilizadas?/Outras técnicas...858`
## • `Valor gasto com aquisição de equipamentos nos últimos 12 meses` -> `Valor
## gasto com aquisição de equipamentos nos últimos 12 meses...901`
## • `Valor gasto com manutenção de equipamentos nos últimos 12 meses` -> `Valor
## gasto com manutenção de equipamentos nos últimos 12 meses...902`
## • `Valor gasto com mão-de-obra de fora da família nos últimos 12 meses` ->
## `Valor gasto com mão-de-obra de fora da família nos últimos 12 meses...903`
## • `Se outra espécie, qual?` -> `Se outra espécie, qual?...930`
## • `Forma de comercialização dos peixes` -> `Forma de comercialização dos
## peixes...938`
## • `Forma de comercialização dos peixes/Vivo` -> `Forma de comercialização dos
## peixes/Vivo...939`
## • `Forma de comercialização dos peixes/Inteiro` -> `Forma de comercialização
## dos peixes/Inteiro...940`
## • `Forma de comercialização dos peixes/Inteiro eviscerado` -> `Forma de
## comercialização dos peixes/Inteiro eviscerado...941`
## • `Forma de comercialização dos peixes/Congelado` -> `Forma de comercialização
## dos peixes/Congelado...942`
## • `Local de comercialização dos peixes` -> `Local de comercialização dos
## peixes...945`
## • `Local de comercialização dos peixes/No município` -> `Local de
## comercialização dos peixes/No município...946`
## • `Local de comercialização dos peixes/Em municípios vizinhos` -> `Local de
## comercialização dos peixes/Em municípios vizinhos...947`
## • `Local de comercialização dos peixes/No estado` -> `Local de comercialização
## dos peixes/No estado...948`
## • `Local de comercialização dos peixes/Para outros estados` -> `Local de
## comercialização dos peixes/Para outros estados...949`
## • `Local de comercialização dos peixes/Exportação` -> `Local de comercialização
## dos peixes/Exportação...950`
## • `Destinação dos peixes comercializados` -> `Destinação dos peixes
## comercializados...951`
## • `Destinação dos peixes comercializados/Frigoríficos` -> `Destinação dos
## peixes comercializados/Frigoríficos...952`
## • `Destinação dos peixes comercializados/Peixarias` -> `Destinação dos peixes
## comercializados/Peixarias...953`
## • `Destinação dos peixes comercializados/Feiras` -> `Destinação dos peixes
## comercializados/Feiras...954`
## • `Destinação dos peixes comercializados/Supermercados` -> `Destinação dos
## peixes comercializados/Supermercados...955`
## • `Destinação dos peixes comercializados/Consumidor final` -> `Destinação dos
## peixes comercializados/Consumidor final...956`
## • `Destinação dos peixes comercializados/OSP` -> `Destinação dos peixes
## comercializados/OSP...957`
## • `Destinação dos peixes comercializados/Outro destino` -> `Destinação dos
## peixes comercializados/Outro destino...958`
## • `Se outro destino, qual?` -> `Se outro destino, qual?...959`
## • `Área total explorada com extrativismo` -> `Área total explorada com
## extrativismo...960`
## • `Equipamentos adquiridos` -> `Equipamentos adquiridos...962`
## • `Valor gasto com aquisição de equipamentos nos últimos 12 meses` -> `Valor
## gasto com aquisição de equipamentos nos últimos 12 meses...980`
## • `Valor gasto com manutenção de equipamentos nos últimos 12 meses` -> `Valor
## gasto com manutenção de equipamentos nos últimos 12 meses...982`
## • `Há contratação de mão-de-obra de fora da família?` -> `Há contratação de
## mão-de-obra de fora da família?...983`
## • `Valor gasto com mão-de-obra de fora da família nos últimos 12 meses` ->
## `Valor gasto com mão-de-obra de fora da família nos últimos 12 meses...984`
## • `Valor gasto com aquisição de equipamentos nos últimos 12 meses` -> `Valor
## gasto com aquisição de equipamentos nos últimos 12 meses...987`
## • `Valor gasto com manutenção de equipamentos nos últimos 12 meses` -> `Valor
## gasto com manutenção de equipamentos nos últimos 12 meses...990`
## • `Qual a modalidade de contratação/pagamento?` -> `Qual a modalidade de
## contratação/pagamento?...996`
## • `Valor gasto com mão-de-obra de fora da família nos últimos 12 meses` ->
## `Valor gasto com mão-de-obra de fora da família nos últimos 12 meses...997`
## • `Área de floresta plantada na propriedade` -> `Área de floresta plantada na
## propriedade...1002`
## • `Se outra unidade de área, qual?` -> `Se outra unidade de área, qual?...1003`
## • `Nível de satisfação com os serviços de assistência técnica` -> `Nível de
## satisfação com os serviços de assistência técnica...1014`
## • `Se outra fonte, qual?` -> `Se outra fonte, qual?...1017`
## • `Mercados de destino da produção gerada na propriedade` -> `Mercados de
## destino da produção gerada na propriedade...1019`
## • `Mercados de destino da produção gerada na propriedade/Mercados
## institucionais (PAA, PNAE)` -> `Mercados de destino da produção gerada na
## propriedade/Mercados institucionais (PAA, PNAE)...1020`
## • `Mercados de destino da produção gerada na propriedade/Próprio município` ->
## `Mercados de destino da produção gerada na propriedade/Próprio
## município...1021`
## • `Mercados de destino da produção gerada na propriedade/Outros municípios no
## mesmo estado` -> `Mercados de destino da produção gerada na
## propriedade/Outros municípios no mesmo estado...1022`
## • `Mercados de destino da produção gerada na propriedade/Outros estados` ->
## `Mercados de destino da produção gerada na propriedade/Outros estados...1023`
## • `Mercados de destino da produção gerada na propriedade/Exportação` ->
## `Mercados de destino da produção gerada na propriedade/Exportação...1024`
## • `Mercados de destino da produção gerada na propriedade/Autoconsumo` ->
## `Mercados de destino da produção gerada na propriedade/Autoconsumo...1025`
## • `Meios de comercialização da produção gerada na propriedade` -> `Meios de
## comercialização da produção gerada na propriedade...1026`
## • `Meios de comercialização da produção gerada na
## propriedade/Cooperativa/associação` -> `Meios de comercialização da produção
## gerada na propriedade/Cooperativa/associação...1027`
## • `Meios de comercialização da produção gerada na propriedade/Indústria` ->
## `Meios de comercialização da produção gerada na propriedade/Indústria...1028`
## • `Meios de comercialização da produção gerada na propriedade/Empresa
## integradora` -> `Meios de comercialização da produção gerada na
## propriedade/Empresa integradora...1029`
## • `Meios de comercialização da produção gerada na propriedade/Intermediário` ->
## `Meios de comercialização da produção gerada na
## propriedade/Intermediário...1030`
## • `Meios de comercialização da produção gerada na propriedade/Governo
## (prefeitura, estado, governo federal)` -> `Meios de comercialização da
## produção gerada na propriedade/Governo (prefeitura, estado, governo
## federal)...1031`
## • `Meios de comercialização da produção gerada na propriedade/Consumidor final`
## -> `Meios de comercialização da produção gerada na propriedade/Consumidor
## final...1032`
## • `Meios de comercialização da produção gerada na propriedade/Vizinho` ->
## `Meios de comercialização da produção gerada na propriedade/Vizinho...1033`
## • `Meios de comercialização da produção gerada na propriedade/Feira livre` ->
## `Meios de comercialização da produção gerada na propriedade/Feira
## livre...1034`
## • `Meios de comercialização da produção gerada na propriedade/ONG` -> `Meios de
## comercialização da produção gerada na propriedade/ONG...1035`
principal$date<-date(principal$`Data e horário de início da entrevista`)
principal <- principal %>% filter(date > as.Date("2025-07-21"))
p2 <- principal %>% filter(!`_validation_status` %in% c("Not Approved", "On Hold"))
p2$index<-p2$`_index`
p2 <- p2 %>%
mutate(`Grupo amostral` = case_when(
grepl("Controle", `Grupo amostral`) ~ "Controle",
grepl("Spillover", `Grupo amostral`) ~ "Spillover",
grepl("Tratamento", `Grupo amostral`) ~ "Tratamento",
TRUE ~ as.character(`Grupo amostral`) # Mantém outros valores inalterados
))
p2 <- p2 %>% select(where(~!all(is.na(.x))))
#há 4 questionários a mais
#+1 em Campinas
p2 <- p2[p2$`Nome do RESPONDENTE` != "Lázaro de Lima Pereira", ]
# + 1 de Patos
p2 <- p2[p2$`Nome do RESPONDENTE` != "Francisca Paula da Costa", ]
#tem 2 que são NA no grupo amostral
invalidos <- p2 %>% filter(is.na(`Grupo amostral`))
p2 <- p2 %>% filter(!is.na(`Grupo amostral`))
# Gilmar de Sousa santos tá como controle, mas é spillover
# Maria Antônia de Oliveira tá como controle, mas é spillover
table(p2$`Grupo amostral`)
##
## Controle Spillover Tratamento
## 366 66 264
p2 <- p2 %>%
mutate(`Grupo amostral` = case_when(
`Nome do RESPONSÁVEL pela propriedade` == "Gilmar de Sousa santos" ~ "Spillover",
`Nome do RESPONSÁVEL pela propriedade` == "Maria Antônia de Oliveira" ~ "Spillover",
TRUE ~ `Grupo amostral`
))