REPORTE DE MANEJO DE PLAGAS EL CULTIVOS DE LA AMAZONÍA ECUATORIANA
Author
AJA
Published
July 10, 2024
1 DATOS GENERALES
A continuación se presenta información demográfica de los productores encuestados para esta línea base de plagas en cultivos de la amazonía Ecuatoriana.
2 Etnias
3 Género
4 Edad
5 Pirámide Poblacional
6 Provincias de Origen de Ecuestados
7 Cantones de Origen de Ecuestados
8 Ocupación de los encuestados
9 INFORMACIÓN DE PRODUCCIÓN AGRÍCOLA Y PLAGAS
Se presenta infromación general sobre los cultivos, su comercialización, principales problemas y opinión en cuanto a plagas.
10 Nichos de Mercado de los Productores
11 Problemas de cultivos
12 Aumento de plagas
13 Tipo de Plaga detectada en los cultivos
14 Factores que incrementan Plagas en los cultivos
15 Métodos que usa para el control de Plagas
16 Efectividad de los Métodos empleados
17 Accesibilidad a técnicas de control de Plagas
18 Importancia de las técnicas Agroecologicas para el control de plagas
# A tibble: 3 × 3
importante conteo porcentaje
<chr> <int> <dbl>
1 Muy Importante 93 77.5
2 Importante 25 20.8
3 Nada Importante 2 1.67
19 Nube de Palabras con las Sugerencias para el control de plagas
20 RESTAURACIÓN DE ECOSISTEMAS
A continuación se presenta infromación referente a la improtancia que dan los beneficiarios a la restauración de los ecosistemas como un alternativa al Manejo de Plagas
21 Actividades a realizar para disminuir la presencia de plagas
22 Participación en Actividades de restauración ecológica
23 Participación en Actividades de restauración ecológica
24 Nube de Palabras sobre lo que han escuchado los encuestados sobre Restauración Ecológica
Source Code
---title: "REPORTE DE MANEJO DE PLAGAS EL CULTIVOS DE LA AMAZONÍA ECUATORIANA"date: todaynumber-sections: trueauthor: "AJA"format: html: html-math-method: katex theme: cosmo code-tools: true self-contained: true page-layout: full toc: trueexecute: warning: false---## DATOS GENERALES```{r, echo=FALSE , message=FALSE, warning=FALSE, results='hide'}### CONECTAR A BASE DE DATOS DE KOBOTOOLBOX Y GENERA ANÁLISIS Y GRÁFICAS # Cargar las librerías necesarias para el análisis de datoslibrary(robotoolbox) # Para trabajar con datos de KoboToolboxlibrary(dplyr) # Para manipulación de datoslibrary(sf) # Para trabajar con datos espacialeslibrary(tidyr) # Para transformar datoslibrary(stringr) # Para manipulación de stringslibrary(openxlsx)library(readxl)library(stringr)library(sp)library(tm)library(wordcloud)library(RColorBrewer)library(ggplot2)library(plotly)library(ggfortify)library(DT)library(readxl)data_levantamiento <- read_excel("data_levantamiento.xlsx")############### funcione para generar ciertas tablas y graficas interactivas ##### carga funciones # Función para crear un dataframe de resumen por actividadcrear_df_resumen <- function(data, columna_grupo) { data %>% group_by_at(columna_grupo) %>% summarise(Total = n()) %>% arrange(desc(Total))}### funcion para graficas interactivas generar_grafica_interactiva <- function(data, col_x, col_y, titulo, colores_manual, titulo_leyenda, Nombre_x, Nombre_y) { # Crear una columna con el texto que quieres mostrar en el tooltip data <- data %>% mutate(Tooltip = paste(!!sym(col_x), "<br>Total:", !!sym(col_y))) plot <- ggplot(data, aes(x = reorder(!!sym(col_x), -!!sym(col_y)), y = !!sym(col_y), fill = !!sym(col_x), text = Tooltip)) + geom_bar(stat = "identity", col = "black", size = 0.05) + scale_fill_manual(values = colores_manual) + labs(title = titulo, x = Nombre_x, y = Nombre_y, fill = titulo_leyenda) + theme_minimal(base_size = 11) + theme( legend.position = "bottom", text = element_text(family = "Nanum"), axis.text.x = element_text(angle = 30, hjust = 1), plot.title = element_text(hjust = 0.5) # Centra el título ) # Convertir el ggplot en un gráfico plotly y especificar que el tooltip use la columna 'Tooltip' ggplotly(plot, tooltip = "text")}###### funcion para crear tablas interactivas generar_tabla_interactiva <- function(data) { datatable(data, options = list( pageLength = 10, scrollX = TRUE, dom = 'Blfrtip', buttons = c('copy', 'excel', 'pdf'), columnDefs = list(list(className = 'dt-center', targets = '_all')), # Ajustar el tamaño de la letra con style initComplete = JS( "function(settings, json) {", "$(this.api().table().body()).css({'font-size': '12px'});", "}" ) ), extensions = c('Buttons', 'Scroller'), filter = 'top', class = 'cell-border stripe')}```A continuación se presenta información demográfica de los productores encuestados para esta línea base de plagas en cultivos de la amazonía Ecuatoriana.## Etnias```{r, echo=FALSE , message=FALSE, warning=FALSE}# Uso de la función para crear emprendi_x_actividadx_etnica<- crear_df_resumen(data_levantamiento, "etnica")x_etnica = x_etnica %>% mutate(Total = round(((Total / sum(Total))*100),2)) ## trasnforma a procentaje # Reemplazar la palabra "ejemplo" con "demostración"x_etnica$etnica <- gsub("Woarani", "Waorani", x_etnica$etnica)###### grafica interactiva # Definir colores manualmente para cada actividadcolores_manual <- c("Mestizo" = "#183D1E", "Kichwa" = "#DD9536", "Shuar"="#79C6C4", "Achuar"="#F4E238", "Waorani"="white", "Sápara"= "#F68862", "Otro"= "#BDBDBD")grafica_etnica <- generar_grafica_interactiva(x_etnica, "etnica", "Total", "Encuestados por Etnia", colores_manual, " Grupos étnicos", "Etnias", "Porcentaje de Encuestados (%)")grafica_etnicatabla_etnica<- generar_tabla_interactiva(x_etnica) # Ajusta según tus necesidadestabla_etnica```## Género```{r, echo=FALSE , message=FALSE, warning=FALSE}# Uso de la función para crear emprendi_x_actividadx_genero<- crear_df_resumen(data_levantamiento, "genero") %>% filter(!is.na(genero))x_genero = x_genero %>% mutate(Total = round(((Total / sum(Total))*100),2)) ## trasnforma a procentaje ###### grafica interactiva # Definir colores manualmente para cada actividadcolores_manual <- c("Masculino" = "#183D1E", "Femenino"="#DD9536")grafica_genero <- generar_grafica_interactiva(x_genero, "genero", "Total", "Encuestados por Género", colores_manual, "Género", "Género", "Porcentaje de Encuestados (%)")grafica_generotabla_genero<- generar_tabla_interactiva(x_genero) # Ajusta según tus necesidadestabla_genero```## Edad```{r, echo=FALSE , message=FALSE, warning=FALSE}########### HISTOGRAMA DE EDAD edad_plot = ggplot(data_levantamiento, aes(edad))+ geom_histogram(fill = "#79C6C4", col = "black")+ #scale_fill_manual(values = colores_manual) + labs(title = "Histograma de Edad de Encuestados", x = "Edad", y = "Frecuencia") + theme_minimal(base_size = 11) + theme( legend.position = "bottom", text = element_text(family = "Nanum"), axis.text.x = element_text(angle = 30, hjust = 1), plot.title = element_text(hjust = 0.5) # Centra el título )# Convertir el ggplot en un gráfico plotly y especificar que el tooltip use la columna 'Tooltip'ggplotly(edad_plot)```## Pirámide Poblacional```{r, echo=FALSE , message=FALSE, warning=FALSE}########## PIRAMIDE POBLACIONAL DE EDAD Y SEXO piramide = data_levantamientopiramide$Edad <- cut(piramide$edad, breaks = c(18, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, Inf), labels = c("18-20", "20-25", "25-30","30-35", "35-40", "40-45", "45-50", "50-55", "55-60", "60-65", "65-70", "70-75", "75-80", "80+"), right = FALSE)piramide_resumen <-piramide %>% group_by(genero, Edad ) %>% summarize(Count = n()) %>% arrange(Edad, desc(Count))%>% # Ordenar por nacionalidad y cantidad descendente mutate(Porcentaje = round(((Count / sum(Count))*100),2))piramide_resumen = na.omit(piramide_resumen)piramide_resumen <-piramide_resumen %>% mutate(Porcentaje = ifelse(grepl("Masculino", genero), -Porcentaje, Porcentaje))plot_piramide = ggplot(piramide_resumen, aes(x = Edad,y = Porcentaje, fill=genero)) + geom_bar(stat = "identity") + coord_flip()+ labs(title = "Pirámide poblacional de Encuestados", x = "Rango de edades", y = "Porcentaje de encuestados (%)", fill = "Género") + theme_minimal() + theme(axis.text.x = element_text(angle = 45, hjust = 1, size = 10), panel.background = element_rect(fill = "white"), plot.title = element_text(hjust = 0.5) )+scale_fill_manual(values = c("Masculino" = "#54BDC2", "Femenino" = "#FBD2AF"))ggplotly(plot_piramide)```## Provincias de Origen de Ecuestados```{r, echo=FALSE , message=FALSE, warning=FALSE}############ PROVINCIAS DE ORIGEN x_provincia<- crear_df_resumen(data_levantamiento, "provincia")x_provincia = x_provincia %>% mutate(Total = round(((Total / sum(Total))*100),2)) x_provincia = na.omit(x_provincia)colores_manual <- colores_manual <- c("Pastaza" = "#183D1E", "Napo" = "#DD9536", "Morona Santiago"="#79C6C4", "Zamora Chinchipe"="#F4E238", "Orellana"="white", "Sucumbios"= "#F68862")grafica_pro<- generar_grafica_interactiva(x_provincia, "provincia", "Total", "Encuestados por Provincia", colores_manual, "Provincia", "Provincia", "Porcentaje de Encuestados (%)")grafica_protabla_pro<- generar_tabla_interactiva(x_provincia) # Ajusta según tus necesidadestabla_pro```## Cantones de Origen de Ecuestados```{r, echo=FALSE , message=FALSE, warning=FALSE}cant_napo = length(unique(data_levantamiento$napo))cant_morona = length(unique(data_levantamiento$morona_santiago))cant_zamorach = length(unique(data_levantamiento$zamora_chinchipe))cant_pastaza = length(unique(data_levantamiento$pastaza))cant_orellana = length(unique(data_levantamiento$orellana))cant_sucumbios= length(unique(data_levantamiento$sucumbios))total_cantones = sum(cant_napo, cant_morona,cant_zamorach, cant_pastaza, cant_orellana, cant_sucumbios )colores_manual <- colores_manual <- c("Pastaza" = "#183D1E", "Napo" = "#DD9536", "Morona Santiago"="#79C6C4", "Zamora Chinchipe"="#F4E238", "Orellana"="white", "Sucumbios"= "#F68862")########################### INFORMACION POR CANTONES # Primero, combinamos todas las columnas de cantones en una sola columna "cantones"data_levantamiento$cantones <- apply(data_levantamiento[, c("morona_santiago", "napo", "orellana", "pastaza", "sucumbios", "zamora_chinchipe")], 1, function(x) na.omit(x)[1])# Agrupamos por provincia y cantones, y contamos las ocurrencias# Agrupamos por provincia y cantones, y contamos las ocurrenciasconteo_cantones <- data_levantamiento %>% group_by(provincia, cantones) %>% summarise(conteo = n(), .groups = 'drop') %>% mutate(cantones = str_replace_all(cantones, "_", " "), # Reemplazar "_" con espacio cantones = str_to_title(cantones)) # Poner la primera letra de cada palabra en mayúscula# Mostramos el resultadoconteo_cantones <- conteo_cantones %>% mutate(Tooltip = paste("Provincia:", provincia, "<br>Cantón:",cantones, "<br>Total:", conteo))%>% mutate(porcentaje = conteo/ sum(conteo) ) %>% arrange(-porcentaje) %>% na.omit( )plot_cantones <- ggplot(conteo_cantones, aes(x = reorder( cantones, - conteo), y = conteo, fill = provincia , text = Tooltip)) + geom_bar(stat = "identity", col = "black", size = 0.05) + scale_fill_manual(values = colores_manual) + labs(title = "Encuestados por Cantones", x = "Cantones", y = "Porcentaje de Encuestados (%)", fill = "Provincias") + theme_minimal(base_size = 11) + theme( legend.position = "bottom", text = element_text(family = "Nanum"), axis.text.x = element_text(angle = 30, hjust = 1), plot.title = element_text(hjust = 0.5) # Centra el título )# Convertir el ggplot en un gráfico plotly y especificar que el tooltip use la columna 'Tooltip'ggplotly(plot_cantones, tooltip = "text")```## Ocupación de los encuestados```{r, echo=FALSE , message=FALSE, warning=FALSE}################################## GRAFICA DE OCUPACIÓN ###### COMBIERTE LAS OPCIONES MUTIPLES ELEGIDAS EN OCUPACIÓN EN UN CONTEO D EPLABRAS# Convertir el texto a mayúsculasvector_texto <- data_levantamiento$ocupacion# Limpiar el textovector_texto <- gsub("[[:punct:]]", "", vector_texto) # Elimina puntuación# Crear un corpus y limpiarlocorpus <- Corpus(VectorSource(vector_texto))#corpus <- tm_map(corpus, content_transformer(tolower))corpus <- tm_map(corpus, stripWhitespace)# Crear DTMdtm <- TermDocumentMatrix(corpus)m <- as.matrix(dtm)v <- sort(rowSums(m), decreasing = TRUE)x_ocupacion <- data.frame(Ocupacion = names(v), freq = v)x_ocupacion$Ocupacion = str_to_title(x_ocupacion$Ocupacion) x_ocupacion = x_ocupacion %>% mutate(Porcentaje = round((freq/(sum(freq)))*100,2))###### grafica interactiva # Definir colores manualmente para cada actividadcolores_manual <- c("Productor" = "#183D1E", "Emprendedor"="#DD9536", "Comerciante"="#79C6C4", "Otro"= "#BDBDBD")grafica_ocupacion <- generar_grafica_interactiva(x_ocupacion, "Ocupacion", "Porcentaje", "Ocupación de Encuestados", colores_manual, "Ocupación", "Ocupación", "Porcentaje de Encuestados (%)")grafica_ocupaciontabla_ocupacion<- generar_tabla_interactiva(x_ocupacion) # Ajusta según tus necesidadestabla_ocupacion```## INFORMACIÓN DE PRODUCCIÓN AGRÍCOLA Y PLAGASSe presenta infromación general sobre los cultivos, su comercialización, principales problemas y opinión en cuanto a plagas.## Nichos de Mercado de los Productores```{r, echo=FALSE , message=FALSE, warning=FALSE}#################################### INFORMACIÓN DE CULTIVOS ### donde vende sus productos # Supongamos que tu vector se llama data_levantamiento$productosproductos <- data_levantamiento$productos# Crear un dataframe con los datos y separar las categorías por espaciodf_productos <- data.frame(productos) %>% filter(!is.na(productos)) %>% # Eliminar filas NA mutate(productos = str_split(productos, " ")) %>% # Separar por espacio unnest(productos) # Expandir a múltiples filas# Contar la frecuencia de cada categoríaconteo_categorias <- df_productos %>% group_by(productos) %>% summarise(conteo = n()) %>% mutate(porcentaje = round((conteo / sum(conteo)) * 100, 2))%>% arrange(-porcentaje)conteo_categorias$productos = gsub("[[:punct:]]", " ", conteo_categorias$productos )conteo_categorias$productos = str_to_title(conteo_categorias$productos) # Mostrar el resultado###### grafica interactiva # Definir colores manualmente para cada actividadcolores_manual <- c("Intermediarios" = "#183D1E", "Pie De Finca"="#DD9536", "Feria Cantonal"="#79C6C4", "Tiendas"="#F4E238" ,"Otro"= "#BDBDBD")conteo_categorias_grafia = conteo_categorias[1:5,]grafica_categoria<- generar_grafica_interactiva(conteo_categorias_grafia, "productos", "porcentaje", "Cinco primeros Nichos de Mercado con mayor Porcentaje", colores_manual, "Nicho", "Nicho", "Porcentaje de nicho de mercado usado (%)")grafica_categoriatabla_nicho<- generar_tabla_interactiva(conteo_categorias) # Ajusta según tus necesidadestabla_nicho```## Problemas de cultivos ```{r, echo=FALSE , message=FALSE, warning=FALSE}########################################################## PROBLEMAS EN CULTIVOS problemas_cultivos <- data_levantamiento$cultivos# Crear un dataframe con los datos y separar las categorías por espaciodf_problemas_cultivos<- data.frame(problemas_cultivos) %>% filter(!is.na(problemas_cultivos)) %>% # Eliminar filas NA mutate(problemas_cultivos = str_split(problemas_cultivos, " ")) %>% # Separar por espacio unnest(problemas_cultivos) # Expandir a múltiples filas# Contar la frecuencia de cada categoríaconteo_problemas <- df_problemas_cultivos %>% group_by(problemas_cultivos) %>% summarise(conteo = n()) %>% mutate(porcentaje = round((conteo / sum(conteo)) * 100, 2))%>% arrange(-porcentaje)conteo_problemas$problemas_cultivos = gsub("[[:punct:]]", " ", conteo_problemas$problemas_cultivos )conteo_problemas$problemas_cultivos = str_to_title(conteo_problemas$problemas_cultivos ) # Mostrar el resultadoconteo_problemas$problemas_cultivos = c("Incremento de Plagas", "Condiciones Climáticas adversas","Falta de Recursos para los Cultivos", "Prácticas Agrícolas Inadecuadas", "Otra")###### grafica interactiva # Definir colores manualmente para cada actividadcolores_manual <- c("Incremento de Plagas" = "#183D1E", "Condiciones Climáticas adversas"="#DD9536", "Falta de Recursos para los Cultivos"="#79C6C4", "Prácticas Agrícolas Inadecuadas"="#F4E238" ,"Otra"= "#BDBDBD")grafica_problemas<- generar_grafica_interactiva(conteo_problemas, "problemas_cultivos", "porcentaje", "Principales problemas de cultivos de Encuestados", colores_manual, "Problema del cultivo", "Problema del cultivo", "Porcentaje de encuestados que presentan el problema (%)")grafica_problemastabla_problemas = generar_tabla_interactiva(conteo_problemas) # Ajusta según tus necesidadestabla_problemas```## Aumento de plagas ```{r, echo=FALSE , message=FALSE, warning=FALSE}########################################################## PROBLEMAS EN CULTIVOS aumento_plagas<- data_levantamiento$no# Crear un dataframe con los datos y separar las categorías por espaciodf_aumento_plagas<- data.frame(aumento_plagas) %>% filter(!is.na(aumento_plagas)) %>% # Eliminar filas NA mutate(aumento_plagas = str_split(aumento_plagas, " ")) %>% # Separar por espacio unnest(aumento_plagas) # Expandir a múltiples filas# Contar la frecuencia de cada categoríaconteo_aumento<- df_aumento_plagas %>% group_by(aumento_plagas) %>% summarise(conteo = n()) %>% mutate(porcentaje = round((conteo / sum(conteo)) * 100, 2))%>% arrange(-porcentaje)conteo_aumento$aumento_plagas = gsub("[[:punct:]]", " ", conteo_aumento$aumento_plagas )conteo_aumento$aumento_plagas = str_to_title(conteo_aumento$aumento_plagas ) # Mostrar el resultadoconteo_aumento$aumento_plagas = c("Sí", "No está seguro","No")###### grafica interactiva # Definir colores manualmente para cada actividadcolores_manual <- c("Sí" = "#183D1E", "No está seguro"="#DD9536", "No"="#79C6C4")grafica_aumento<- generar_grafica_interactiva(conteo_aumento, "aumento_plagas", "porcentaje", "Aumento de plagas", colores_manual, "Aumento de Plagas", "Aumento de Plagas", "Porcentaje de encuestados (%)")grafica_aumentotabla_aumento= generar_tabla_interactiva(conteo_aumento) # Ajusta según tus necesidadestabla_aumento```## Tipo de Plaga detectada en los cultivos```{r, echo=FALSE , message=FALSE, warning=FALSE}########################################################## TIPO DE PLAGA Tipo_plagas<- data_levantamiento$plagas# Crear un dataframe con los datos y separar las categorías por espaciodf_Tipo_plagas<- data.frame(Tipo_plagas) %>% filter(!is.na(Tipo_plagas)) %>% # Eliminar filas NA mutate(Tipo_plagas = str_split(Tipo_plagas, " ")) %>% # Separar por espacio unnest(Tipo_plagas) # Expandir a múltiples filas# Contar la frecuencia de cada categoríaconteo_Tipo_plagas <- df_Tipo_plagas %>% group_by(Tipo_plagas ) %>% summarise(conteo = n()) %>% mutate(porcentaje = round((conteo / sum(conteo)) * 100, 2))%>% arrange(-porcentaje)conteo_Tipo_plagas$Tipo_plagas = gsub("[[:punct:]]", " ", conteo_Tipo_plagas$Tipo_plagas )conteo_Tipo_plagas$Tipo_plagas = str_to_title( conteo_Tipo_plagas$Tipo_plagas ) ###### grafica interactiva # Definir colores manualmente para cada actividadcolores_manual <- c("Insectos" = "#183D1E", "Roedores Ratas Ratones "="#DD9536", "Guatusa Guatin"="#79C6C4", "Aves"="#F4E238", "Otros"="white")conteo_Tipo_plagas_plot = conteo_Tipo_plagas[1:5,]grafica_tipo_plaga<- generar_grafica_interactiva(conteo_Tipo_plagas_plot, "Tipo_plagas", "porcentaje", "Tipo de Plaga", colores_manual, "Tipo de Plaga", "Tipo de Plaga", "Porcentaje de encuestados (%)")grafica_tipo_plagatabla_tipo_plaga= generar_tabla_interactiva(conteo_Tipo_plagas) # Ajusta según tus necesidadestabla_tipo_plaga```## Factores que incrementan Plagas en los cultivos```{r, echo=FALSE , message=FALSE, warning=FALSE}######################### ELEM,NTOS QUE INCREMENTAN LAS PLAGAS ########################### USO DE MÉTODOS elementos <- data_levantamiento$elementos# Crear un dataframe con los datos y separar las categorías por espacioelementos<- data.frame(elementos) %>% filter(!is.na(elementos)) %>% # Eliminar filas NA mutate(elementos = str_split(elementos, " ")) %>% # Separar por espacio unnest(elementos) # Expandir a múltiples filas# Contar la frecuencia de cada categoríaelementos<- elementos %>% group_by(elementos ) %>% summarise(conteo = n()) %>% mutate(porcentaje = round((conteo / sum(conteo)) * 100, 2))%>% arrange(-porcentaje)elementos$elementos = gsub("[[:punct:]]", " ", elementos$elementos )elementos$elementos = str_to_title( elementos$elementos ) elementos$elementos <- gsub("Cercania De Los Cultivos Al Bosque", "Cercanía De Los Cultivos Al Bosque", elementos$elementos )elementos$elementos <- gsub("Perdida De Bosques", "Pérdida De Bosques", elementos$elementos )elementos$elementos <- gsub( "Practicas Agricolas Inapropiadas", "Prácticas Agricolas Inapropiadas", elementos$elementos )###### grafica interactiva # Definir colores manualmente para cada actividadcolores_manual <- c("Baja Diversidad En Los Cultivos" = "#183D1E", "Pérdida De Bosques"="#DD9536", "Prácticas Agricolas Inapropiadas"="#79C6C4", "Cercanía De Los Cultivos Al Bosque"="#F4E238")elementos = elementos[1:4,]grafica_elementos<- generar_grafica_interactiva(elementos, "elementos", "porcentaje", "Factores que incrementan las Plagas", colores_manual, "Factores", "Factores", "Porcentaje de encuestados (%)")grafica_elementostabla_elementos= generar_tabla_interactiva(elementos) # Ajusta según tus necesidadestabla_elementos```## Métodos que usa para el control de Plagas```{r, echo=FALSE , message=FALSE, warning=FALSE}########################### USO DE MÉTODOS uso_metodos <- data_levantamiento$metodo# Crear un dataframe con los datos y separar las categorías por espaciodf_uso_metodos<- data.frame(uso_metodos) %>% filter(!is.na(uso_metodos)) %>% # Eliminar filas NA mutate(uso_metodos = str_split(uso_metodos, " ")) %>% # Separar por espacio unnest(uso_metodos) # Expandir a múltiples filas# Contar la frecuencia de cada categoríaconteo_uso_metodos<- df_uso_metodos %>% group_by(uso_metodos ) %>% summarise(conteo = n()) %>% mutate(porcentaje = round((conteo / sum(conteo)) * 100, 2))%>% arrange(-porcentaje)conteo_uso_metodos$uso_metodos = gsub("[[:punct:]]", " ", conteo_uso_metodos$uso_metodos )conteo_uso_metodos$uso_metodos = str_to_title( conteo_uso_metodos$uso_metodos ) conteo_uso_metodos$uso_metodos <- gsub("Metodos Quimicos", "Métodos Químicos",conteo_uso_metodos$uso_metodos )conteo_uso_metodos$uso_metodos <- gsub("Metodos Biologicos", "Métodos Biológicos",conteo_uso_metodos$uso_metodos )conteo_uso_metodos$uso_metodos <- gsub("Metodos Fisicos", "Métodos Físicos",conteo_uso_metodos$uso_metodos )conteo_uso_metodos$uso_metodos <- gsub("Caceria Controlada", "Cacería Controlada",conteo_uso_metodos$uso_metodos )###### grafica interactiva # Definir colores manualmente para cada actividadcolores_manual <- c("Métodos Químicos" = "#183D1E", "Métodos Físicos"="#DD9536", "Enriquecimiento De Cultivos"="#79C6C4", "Métodos Biológicos"="#F4E238", "Ninguno"="white","Cacería Controlada"= "#F68862")conteo_uso_metodos_plot = conteo_uso_metodos[1:6,]grafica_conteo_uso_metodos<- generar_grafica_interactiva(conteo_uso_metodos_plot, "uso_metodos", "porcentaje", "Métodos para eliminar plagas", colores_manual, "Métodos de eliminación de plagas", "Métodos", "Porcentaje de encuestados (%)")grafica_conteo_uso_metodostabla_conteo_uso_metodos= generar_tabla_interactiva(conteo_uso_metodos) # Ajusta según tus necesidadestabla_conteo_uso_metodos```## Efectividad de los Métodos empleados ```{r, echo=FALSE , message=FALSE, warning=FALSE}#######################################################################control <- data_levantamiento$ control# Crear un dataframe con los datos y separar las categorías por espaciocontrol<- data.frame( control) %>% filter(!is.na( control)) %>% # Eliminar filas NA mutate( control = str_split( control, " ")) %>% # Separar por espacio unnest( control) # Expandir a múltiples filas# Contar la frecuencia de cada categoríacontrol<- control %>% group_by( control ) %>% summarise(conteo = n()) %>% mutate(porcentaje = round((conteo / sum(conteo)) * 100, 2))%>% arrange(-porcentaje)control$ control = gsub("[[:punct:]]", " ", control$ control )control$ control = str_to_title( control$ control ) ###### grafica interactiva # Definir colores manualmente para cada actividadcolores_manual <- c("Poco Efectivos" = "#183D1E", "Efectivos"="#DD9536", "Muy Efectivos"="#79C6C4", "Inefectivos"="#F4E238")grafica_control<- generar_grafica_interactiva(control, "control", "porcentaje", "Efectividad de métodos de control", colores_manual, "Efectividad", "Efectividad", "Porcentaje de encuestados (%)")grafica_controltabla_control= generar_tabla_interactiva(control) # Ajusta según tus necesidadestabla_control```## Accesibilidad a técnicas de control de Plagas```{r, echo=FALSE , message=FALSE, warning=FALSE}################################### ACCESO A TECNICAS tecnica <- data_levantamiento$ tecnica# Crear un dataframe con los datos y separar las categorías por espaciotecnica<- data.frame( tecnica) %>% filter(!is.na( tecnica)) %>% # Eliminar filas NA mutate( tecnica = str_split( tecnica, " ")) %>% # Separar por espacio unnest( tecnica) # Expandir a múltiples filas# Contar la frecuencia de cada categoríatecnica<- tecnica %>% group_by( tecnica ) %>% summarise(conteo = n()) %>% mutate(porcentaje = round((conteo / sum(conteo)) * 100, 2))%>% arrange(-porcentaje)tecnica$ tecnica = gsub("[[:punct:]]", " ", tecnica$ tecnica )tecnica$ tecnica = str_to_title( tecnica$ tecnica ) ###### grafica interactiva # Definir colores manualmente para cada actividadcolores_manual <- c("Accesible" = "#183D1E", "Poco Accesible"="#DD9536", "Muy Accesible"="#79C6C4", "Inaccesible"="#F4E238")grafica_tecnica<- generar_grafica_interactiva(tecnica, "tecnica", "porcentaje", "Información sobre control de Plagas", colores_manual, "Accesibilidad", "Accesibilidad", "Porcentaje de encuestados (%)")grafica_tecnicatabla_tecnica = generar_tabla_interactiva(tecnica) # Ajusta según tus necesidadestabla_tecnica```## Importancia de las técnicas Agroecologicas para el control de plagas```{r, echo=FALSE , message=FALSE, warning=FALSE}################################### IMPORTANCIA IMPLEMENTACION TECNICAS importante <- data_levantamiento$ importante# Crear un dataframe con los datos y separar las categorías por espacioimportante<- data.frame( importante) %>% filter(!is.na( importante)) %>% # Eliminar filas NA mutate( importante = str_split( importante, " ")) %>% # Separar por espacio unnest( importante) # Expandir a múltiples filas# Contar la frecuencia de cada categoríaimportante<- importante %>% group_by( importante ) %>% summarise(conteo = n()) %>% mutate(porcentaje = round((conteo / sum(conteo)) * 100, 2))%>% arrange(-porcentaje)importante$ importante = gsub("[[:punct:]]", " ", importante$ importante )importante$ importante = str_to_title( importante$ importante ) # Mostrar el resultadoprint( importante)###### grafica interactiva # Definir colores manualmente para cada actividadcolores_manual <- c("Muy Importante" = "#183D1E", "Importante"="#DD9536", "Nada Importante"="#79C6C4")grafica_importante<- generar_grafica_interactiva(importante, "importante", "porcentaje", "Importancia de técnias agroecológicas para el manejo de Plagas", colores_manual, "Importancia", "Importancia", "Porcentaje de encuestados (%)")grafica_importantetabla_importante= generar_tabla_interactiva(importante) # Ajusta según tus necesidadestabla_importante```## Nube de Palabras con las Sugerencias para el control de plagas ```{r, echo=FALSE , message=FALSE, warning=FALSE}# Definir la función con una opción para especificar colores personalizadosgenerar_nube_palabras <- function(dataframe, columna_texto, palabras_eliminar, max_palabras = 45, colores_personalizados = NULL) { # Convertir el texto a mayúsculas vector_texto <- toupper(dataframe[[columna_texto]]) # Limpiar el texto vector_texto <- gsub("[[:punct:]]", "", vector_texto) # Elimina puntuación # Crear un corpus y limpiarlo corpus <- Corpus(VectorSource(vector_texto)) corpus <- tm_map(corpus, content_transformer(tolower)) corpus <- tm_map(corpus, removeWords, palabras_eliminar) corpus <- tm_map(corpus, removePunctuation) corpus <- tm_map(corpus, stripWhitespace) # Crear DTM dtm <- TermDocumentMatrix(corpus) m <- as.matrix(dtm) v <- sort(rowSums(m), decreasing = TRUE) d <- data.frame(word = names(v), freq = v) # Usar la paleta de colores personalizada si se proporciona, de lo contrario usar una paleta por defecto if (is.null(colores_personalizados)) { colores_usar <- brewer.pal(8, "Dark2") # Paleta por defecto } else { colores_usar <- colores_personalizados } # Filtrar palabras no deseadas y generar la nube de palabras set.seed(1234) wordcloud(words = d$word, freq = d$freq, min.freq = 1, max.words = max_palabras, random.order = FALSE, rot.per = 0.35, colors = colores_usar)}##################### SUGERENCIAS PARA EL CONTROL DE PLAGAS EN CULTIVOS # Palabras a eliminareliminar <- c("la", "que", "los", "para", "las", "son", "hacer", "sí", "era", "han", "hace", "una", "entre", "casi", "sido", "pero", "debe", "tener", "como", "todos", "misma", "del", "por", "con", "dan", "plagas", "control", "está", "más", "estas", "nos","mas", "esta", "cultivos", "productos", "estar", "dar", "ellos", "poder", "sean", "sobre", "entra", "mucha", "temas", "cultivo", "así")# Colores personalizados que desees usarmis_colores <- c( "#DD9536", "#ADD8E6", "#F4E238","#183D1E")generar_nube_palabras(data_levantamiento, "sugerencia", eliminar, colores_personalizados = mis_colores)```## RESTAURACIÓN DE ECOSISTEMAS A continuación se presenta infromación referente a la improtancia que dan los beneficiarios a la restauración de los ecosistemas como un alternativa al Manejo de Plagas## Actividades a realizar para disminuir la presencia de plagas```{r, echo=FALSE , message=FALSE, warning=FALSE}######### ACTIVIDADES DISPUESTOS A REALIZARactividad <- data_levantamiento$ actividad# Crear un dataframe con los datos y separar las categorías por espacioactividad<- data.frame( actividad) %>% filter(!is.na( actividad)) %>% # Eliminar filas NA mutate( actividad = str_split( actividad, " ")) %>% # Separar por espacio unnest( actividad) # Expandir a múltiples filas# Contar la frecuencia de cada categoríaactividad<- actividad %>% group_by( actividad ) %>% summarise(conteo = n()) %>% mutate(porcentaje = round((conteo / sum(conteo)) * 100, 2))%>% arrange(-porcentaje)actividad$ actividad = gsub("[[:punct:]]", " ", actividad$ actividad )actividad$ actividad = str_to_title( actividad$ actividad ) actividad$ actividad <- gsub("Restauracion De Los Ecosistemas", "Restauración De Los Ecosistemas",actividad$ actividad )actividad$ actividad <- gsub("Reforestacion En Areas Degradadas", "Reforestación En Áreas Degradadas",actividad$ actividad )###### grafica interactiva # Definir colores manualmente para cada actividadcolores_manual <- c("Restauración De Los Ecosistemas" = "#183D1E", "Reforestación En Áreas Degradadas"="#DD9536", "Enriquecimiento De Bosques Secundarios"="#79C6C4", "Ninguna"= "white")grafica_actividad<- generar_grafica_interactiva(actividad, "actividad", "porcentaje", "Actividades a realizar para disminuir las Plagas", colores_manual, "Importancia", "Importancia", "Porcentaje de encuestados (%)")grafica_actividadtabla_actividad= generar_tabla_interactiva(actividad) # Ajusta según tus necesidadestabla_actividad```## Participación en Actividades de restauración ecológica```{r, echo=FALSE , message=FALSE, warning=FALSE}######### ACTIVIDADES DISPUESTOS A REALIZARparticipar <- data_levantamiento$ participar# Crear un dataframe con los datos y separar las categorías por espacioparticipar<- data.frame( participar) %>% filter(!is.na( participar)) %>% # Eliminar filas NA mutate( participar = str_split( participar, " ")) %>% # Separar por espacio unnest( participar) # Expandir a múltiples filas# Contar la frecuencia de cada categoríaparticipar<- participar %>% group_by( participar ) %>% summarise(conteo = n()) %>% mutate(porcentaje = round((conteo / sum(conteo)) * 100, 2))%>% arrange(-porcentaje)participar$ participar = gsub("[[:punct:]]", " ", participar$ participar )participar$ participar = str_to_title( participar$ participar ) ###### grafica interactiva # Definir colores manualmente para cada actividadcolores_manual <- c("Si" = "#183D1E", "Si Pero No Necesariamente En Mi Terreno"="#DD9536", "No"="#79C6C4")grafica_participar<- generar_grafica_interactiva(participar, "participar", "porcentaje", "Participación en Restauración de ecosistemas", colores_manual, "Participación", "Participación", "Porcentaje de encuestados (%)")grafica_participartabla_participar= generar_tabla_interactiva(participar) # Ajusta según tus necesidadestabla_participar```## Participación en Actividades de restauración ecológica```{r, echo=FALSE , message=FALSE, warning=FALSE}######### ACTIVIDADES DISPUESTOS A REALIZARparticipar <- data_levantamiento$ participar# Crear un dataframe con los datos y separar las categorías por espacioparticipar<- data.frame( participar) %>% filter(!is.na( participar)) %>% # Eliminar filas NA mutate( participar = str_split( participar, " ")) %>% # Separar por espacio unnest( participar) # Expandir a múltiples filas# Contar la frecuencia de cada categoríaparticipar<- participar %>% group_by( participar ) %>% summarise(conteo = n()) %>% mutate(porcentaje = round((conteo / sum(conteo)) * 100, 2))%>% arrange(-porcentaje)participar$ participar = gsub("[[:punct:]]", " ", participar$ participar )participar$ participar = str_to_title( participar$ participar ) ###### grafica interactiva # Definir colores manualmente para cada actividadcolores_manual <- c("Si" = "#183D1E", "Si Pero No Necesariamente En Mi Terreno"="#DD9536", "No"="#79C6C4")grafica_participar<- generar_grafica_interactiva(participar, "participar", "porcentaje", "Participación en Restauración de ecosistemas", colores_manual, "Participación", "Participación", "Porcentaje de encuestados (%)")grafica_participartabla_participar= generar_tabla_interactiva(participar) # Ajusta según tus necesidadestabla_participar```## Nube de Palabras sobre lo que han escuchado los encuestados sobre Restauración Ecológica```{r, echo=FALSE , message=FALSE, warning=FALSE}# Palabras a eliminareliminar <- c("la", "que", "los", "para", "las", "son", "hacer", "sí", "era", "han", "hace", "una", "entre", "casi", "sido", "pero", "debe", "tener", "como", "todos", "misma", "del", "por", "con", "dan")# Colores personalizados que desees usarmis_colores <- c( "#DD9536", "#ADD8E6", "#F4E238","#183D1E")# Uso de la función para la columna 'descripcion' con colores personalizadosgenerar_nube_palabras(data_levantamiento, "escuchado", eliminar, colores_personalizados = mis_colores)```