---
title: "Análisis de Datos Challabamba 2009-2022"
author: Centro Internacional de la Papa
format:
html:
self-contained: true
code-fold: show
code-summary: "Show the code"
code-overflow: wrap
code-tools: true
code-block-border-left: "#ade6d8"
smooth-scroll: true
editor: visual
toc: true
toc-depth: 4
toc-title: "Tabla de contenido"
number-sections: true
execute:
echo: true
warning: false
df-print: kable
---
```{r}
#| echo: true
#| message: false
#| warning: false
knitr::opts_chunk$set(
echo = FALSE, message = F,
warning = F, ft.keepnext = F, tab.topcaption = TRUE,
ft.align = "left", tab.cap.pre = "Tabla ", tab.cap.sep = ": "
)
library(tidyverse)
library(emmeans)
library(agricolae)
library(ComplexUpset)
library(janitor)
library(data.table)
library(forcats)
library(gower)
library(officer)
library(plotly)
library(flextable)
library(knitr)
library(dumbbell)
library(ggplot2)
library(sf)
### librarias para modelos
library(vegan)
set.seed(123)
autonum <- run_autonum(seq_id = "tab", bkm = "TC1", bkm_all = TRUE)
options(knitr.duplicate.label = "allow")
#source("R/curacion_seedsystem.R")
source("D:/omar/METRIKA-GROUP/Github/agrograf/bar_plot.R")
source("D:/omar/METRIKA-GROUP/Github/agrograf/dumbbell_plot.R")
source("D:/omar/METRIKA-GROUP/Github/agrograf/dumbbell_utils.R")
source("D:/omar/METRIKA-GROUP/Github/agrograf/count_utils.R")
source("D:/omar/METRIKA-GROUP/Github/agrograf/upset_tools.R")
source("D:/omar/METRIKA-GROUP/Github/agrograf/upset_plot.R")
#source("D:/omar/METRIKA-GROUP/Github/analisis_datos_cip/SeedSystems/R/curacion_seedsystem_backup.R")
#source("D:/omar/Analisis_colegas/yanapai/yanapai_variedades/R/utils.R")
#source("R/utils.R")
library(corrplot)
library(agricolae)
library(ggpubr)
library(emmeans)
# Function to calculate summary statistics for three columns
calculate_summary_stats <- function(data, categoria ,col1, col2, col3) {
summary_stats <- data.frame(
count_fam = apply(data[, c(categoria, categoria, categoria)], 2, length),
Mean = apply(data[, c(col1, col2, col3)], 2, mean) %>% round(2),
Median = apply(data[, c(col1, col2, col3)], 2, median) %>% round(2),
Max = apply(data[, c(col1, col2, col3)], 2, max) %>% round(2),
Min = apply(data[, c(col1, col2, col3)], 2, min) %>% round(2),
sum = apply(data[, c(col1, col2, col3)], 2, sum) %>% as.integer()
)
return(summary_stats)
}
```
```{r}
datos_muestreo22 <- readxl::read_xlsx("D:/omar/METRIKA-GROUP/Github/CIP/TimeLine/Data_Curada/Challabamba2009/curado_06_Data_Muestreo_v08_2022_3commrevisit.xlsx") %>% as.data.frame() %>% janitor::clean_names()
datos_moni22 <- readxl::read_xlsx("D:/omar/METRIKA-GROUP/Github/CIP/TimeLine/Data_Curada/Challabamba2009/curado_04_Datos_Monitoreo_variedades_v10_2022_3commrevisit.xlsx") %>% as.data.frame() %>% janitor::clean_names()
datos_09 <- readxl::read_xlsx("D:/omar/METRIKA-GROUP/Github/CIP/TimeLine/Data_Curada/Challabamba2009/PotatoLandraces_DataSet_Cusco_v2_2009_3commrevisit1.xlsx") %>% as.data.frame() %>% janitor::clean_names()
datos_general <- rbindlist(list(datos_09 %>% mutate(dataset="challabamba09"), datos_muestreo22 %>% mutate(dataset="challabamba_mues22"), datos_moni22 %>% mutate(dataset="challabamba_moni22")),use.names = TRUE,fill = TRUE) %>% as.data.frame()
```
## Analisis descriptivo
### Número de observaciones y familias
```{r}
#| echo: true
#| message: false
#| warning: false
n_09 <- nrow(datos_09)
fam09 <- datos_09$code_farmer %>% unique()
nfam09 <- fam09 %>% length()
##
n_moni22 <- nrow(datos_moni22)
fam22_moni <- datos_moni22$code_farmer %>% unique()
nfam22_moni <- fam22_moni %>% length()
##
n_mues22 <- nrow(datos_muestreo22)
fam22_mues <- datos_muestreo22$code_farmer %>% unique()
nfam22_mues <- fam22_mues %>% length()
nobs <- c(n_09,n_mues22,n_moni22)
nfam <- c(nfam09, nfam22_mues,nfam22_moni)
out <- data.frame(nobs,nfam)
label <- c("estudio 2009","muestreo 2022", "monitoreo 2022")
out <- cbind(label,out)
flextable(out)
```
Observación
: Existe un total de 62 familias del 2009 que se repiten tanto en el muestreo y el monitoreo del 2022. Esto representa un
```{r}
#| echo: true
n_coinci <- c("62","62","62")
p_coinci <- c("73%", paste0(100*(62/nfam22_mues) %>% round(2),"%"), paste0(100*(62/nfam22_moni) %>% round(2),"%") )
out$n_coincidencia <- n_coinci
out$p_coincidencia <- p_coinci
fam_intersect <- intersect(fam09, fam22_moni)
flextable(out)
```
### Conteo único de variedades del 2009
```{r}
#| echo: true
# tbl_variety_xfam <- datos_09 %>% count_distinct("code_farmer", variable = "cu_variety_name")
#
# tbl_variety_xloc <- datos_09 %>% count_distinct(c("locality","code_farmer"), variable = "cu_variety_name")
#conteo de variedades
tbl_variety_xcom09 <- datos_09 %>% count_distinct(c("cu_community","code_farmer"), variable = "cu_variety_name")
#conteo de
tbl_variety_names09 <- datos_09 %>% group_by(code_farmer) %>% count(cu_variety_name) %>% ungroup()
out09 <- left_join(tbl_variety_xcom09, tbl_variety_names09 %>% select(-n)) %>% select(1,2,4,3)
DT::datatable(out09)
```
### Conteo único de muestreo 2022
```{r}
#| echo: true
# tbl_variety_xfam <- datos_09 %>% count_distinct("code_farmer", variable = "cu_variety_name")
#
# tbl_variety_xloc <- datos_09 %>% count_distinct(c("locality","code_farmer"), variable = "cu_variety_name")
#conteo de variedades
tbl_variety_xcom_mues22 <- datos_muestreo22 %>% count_distinct(c("cu_community","code_farmer"), variable = "cu_variety_name")
#conteo de
tbl_variety_names_mues22 <- datos_muestreo22 %>% group_by(code_farmer) %>% count(cu_variety_name) %>% ungroup()
out_mues22 <- left_join(tbl_variety_xcom_mues22, tbl_variety_names_mues22 %>% select(-n)) %>% select(1,2,3,4)
DT::datatable(out_mues22)
```
### Conteo único de monitoreo 2022
```{r}
#| echo: true
# tbl_variety_xfam <- datos_09 %>% count_distinct("code_farmer", variable = "cu_variety_name")
#
# tbl_variety_xloc <- datos_09 %>% count_distinct(c("locality","code_farmer"), variable = "cu_variety_name")
#conteo de variedades
tbl_variety_xcom_mon22 <- datos_moni22 %>%
count_distinct(c("cu_community","code_farmer"),
variable = "cu_variety_name")
#conteo de
tbl_variety_names_mon22 <- datos_muestreo22 %>%
group_by(code_farmer) %>%
count(cu_variety_name) %>% ungroup()
out_mon22 <- left_join(tbl_variety_xcom_mon22, tbl_variety_names_mon22 %>% select(-n)) %>% select(1,2,3,4)
DT::datatable(out_mon22)
```
## Richness
Tabla de cantidad de variedades por familia y porcentajes de cambio del estudio de monitoreo y muestreo del 2022.
```{r}
#| echo: true
tbl_richness_area <- datos_09 %>% count(cu_variety_name) %>% arrange(desc(n))
tbl_richness_adm3 <- datos_09 %>% group_by(adm3_name) %>% count(cu_variety_name) %>% arrange(desc(n))
tbl_richness_comu <- datos_09 %>% group_by(cu_community) %>% count(cu_variety_name) %>% arrange(desc(n))
```
### Family Level
```{r}
tbl_richness <- inner_join(inner_join(tbl_variety_xcom09,tbl_variety_xcom_mues22,by=c("cu_community","code_farmer")), tbl_variety_xcom_mon22,by=c("cu_community","code_farmer"))
names(tbl_richness)[3:5] <- c("n_09","n_mues22","n_moni22")
tbl_richness <- tbl_richness %>% mutate( pchange09_mues22 = round(100*(n_mues22-n_09)/n_09,2), pchange09_moni22 = round(100*(n_moni22-n_09)/n_09,2))
DT::datatable(tbl_richness)
writexl::write_xlsx(tbl_richness,path = "tabla_richness_familias.xlsx")
```
### Summary by family level
Estadisticos de las familias
```{r}
out_famlvl <- calculate_summary_stats(tbl_richness, "code_farmer" ,"n_09", "n_mues22", "n_moni22") %>% t() %>% as.data.frame() %>% rownames_to_column(var = "label")
DT::datatable(out_famlvl)
```
### Summary by community
::: panel-tabset
```{r results='asis'}
#| results: asis
comunidades <- tbl_richness$cu_community %>% unique()
out <- vector(mode = "list",length = length(comunidades))
for(i in 1:length(comunidades)){
cat('\n\n#####',comunidades[i],'\n\n')
cat("Resultados del modelos aplicado a ",comunidades[i],"\n\n")
out[[i]] <- calculate_summary_stats(tbl_richness %>% dplyr::filter(cu_community==comunidades[i]), "code_farmer" ,"n_09", "n_mues22", "n_moni22") %>% t() %>% as.data.frame() %>% rownames_to_column(var = "label")
#print(paste("Contraste en los efectos de ",clasificacion_vars))
print(htmltools::tagList(DT::datatable(out[[i]] %>% as.data.frame())))
#DT::datatable(out[[i]] %>% as.data.frame())
}
```
:::
## Abundancia y Evenness
### Abundancia por variedad (con las mismas familias y mismas localidades)
- Se consideró la presencia de agricultores por cada una de las variedades
::: panel-tabset
```{r results='asis'}
#| echo: true
#| results: asis
library(vegan)
sets <- datos_general$dataset %>% unique()
out_abun_vrty <- vector(mode = "list", length=length(sets))
for(i in 1:length(sets)){
tbl_freq_vrty <- datos_general %>% dplyr::filter(dataset == sets[i], code_farmer %in% fam_intersect ) %>%
tabyl(cu_variety_name, code_farmer) %>% as.data.frame()
out_abun_vrty[[i]] <- plyr::ddply(tbl_freq_vrty,~cu_variety_name,function(x) {
data.frame(Abundance=sum(x[-1]))
})
}
for(i in 1:length(sets)){
cat('\n\n#####',sets[i],'\n\n')
cat("Resultados del datasets ",sets[i],"\n\n")
print(htmltools::tagList(DT::datatable(out_abun_vrty[[i]] %>% as.data.frame())))
}
```
:::
Tabla de resultados
```{r}
#| echo: true
tbl_abundance_vrty <- inner_join(inner_join(out_abun_vrty[[1]],out_abun_vrty[[2]], by ="cu_variety_name" ), out_abun_vrty[[3]],by ="cu_variety_name")
names(tbl_abundance_vrty)[2:4]<- paste("abund",sets,sep = "_")
DT::datatable(tbl_abundance_vrty)
writexl::write_xlsx(tbl_abundance_vrty,path = "tbl_abudancia_variety.xlsx")
```
Grafico
```{r}
#| echo: true
res <- tbl_abundance_vrty %>%
pivot_longer(cols = 2:4, names_to = "estudio") %>%
arrange(desc(value)) %>%
slice_head(n=40)
plot_ly(
res,
x = ~ estudio,
y = ~ cu_variety_name,
z = ~ value,
type = 'heatmap',
colors = "BuGn"
)
```
### Abundancia por familia (con las mismas familias)
- Se consideró la cantidad de familias por cada una de las variedades
::: panel-tabset
```{r results='asis'}
#| echo: true
#| results: asis
library(vegan)
sets <- datos_general$dataset %>% unique()
out_abun_fam <- vector(mode = "list", length=length(sets))
for(i in 1:length(sets)){
tbl_freq_fam <- datos_general %>%
dplyr::filter(dataset == sets[i], code_farmer %in% fam_intersect ) %>%
tabyl(code_farmer, cu_variety_name) %>% as.data.frame()
out_abun_fam[[i]] <- plyr::ddply(tbl_freq_fam,~code_farmer,function(x) {
data.frame(Abundance=sum(x[-1]))
})
}
for(i in 1:length(sets)){
cat('\n\n#####',sets[i],'\n\n')
cat("Resultados del datasets ",sets[i],"\n\n")
print(htmltools::tagList(DT::datatable(out_abun_fam[[i]] %>% as.data.frame())))
}
```
:::
Tabla de resultados
```{r}
tbl_abundance_fam <- inner_join(inner_join(out_abun_fam[[1]],out_abun_fam[[2]], by ="code_farmer" ), out_abun_fam[[3]])
names(tbl_abundance_fam )[2:4]<- paste("abund",sets,sep = "_")
DT::datatable(tbl_abundance_fam %>% arrange(desc(abund_challabamba_moni22) ))
writexl::write_xlsx(tbl_abundance_fam,path = "tbl_abudancia_familias.xlsx")
```
Gráfico
```{r}
res <- tbl_abundance_fam %>%
pivot_longer(cols = 2:4, names_to = "estudio") %>% arrange(desc(value))
plot_ly(
res,
x = ~ estudio,
y = ~ code_farmer,
z = ~ value,
type = 'heatmap',
colors = "BuGn"
)
```
### Abundancia por comunidad (con familias en común)
::: panel-tabset
```{r results='asis'}
#| echo: true
#| results: asis
library(vegan)
sets <- datos_general$dataset %>% unique()
out_abun_comunity <- vector(mode = "list", length=length(sets))
for(i in 1:length(sets)){
tbl_freq_community <- datos_general %>% dplyr::filter(dataset == sets[i], code_farmer %in% fam_intersect ) %>%
tabyl(cu_community, cu_variety_name) %>% as.data.frame()
out_abun_comunity[[i]] <- plyr::ddply(tbl_freq_community,~cu_community,function(x) {
data.frame(Abundance=sum(x[-1]))
})
}
for(i in 1:length(sets)){
cat('\n\n#####',sets[i],'\n\n')
cat("Resultados del datasets ",sets[i],"\n\n")
print(htmltools::tagList(DT::datatable(out_abun_comunity[[i]] %>% as.data.frame())))
}
```
:::
Comparando por localidades en común
```{r}
tbl_abundance_comu <- inner_join(inner_join(out_abun_comunity[[1]],out_abun_comunity[[2]], by ="cu_community" ), out_abun_comunity[[3]])
names(tbl_abundance_comu)[2:4]<- paste("abund",sets,sep = "_")
DT::datatable(tbl_abundance_comu)
```
Graficamos respecto a las 3 comunidades de Challabamba
```{r}
res <- tbl_abundance_comu %>% pivot_longer(cols = 2:4,names_to = "study")
p <- res %>%
ggplot(aes(cu_community, value, group = study, colour = as_factor(study))) +
geom_point(alpha = 0.4, size = 5) +
geom_line(aes(group=cu_community), colour = "midnightblue", linewidth=1) +
#facet_wrap(~cu_community)+
#guides(x = guide_axis(angle = 90)) +
scale_colour_viridis_d() +
labs(x = "Diversity value", y="Zone", colour = "Year",title = "Abudance by community")
p
```
### Evenness por comunidad (con familias en comun)
::: panel-tabset
```{r results='asis'}
#| echo: true
#| results: asis
library(vegan)
sets <- datos_general$dataset %>% unique()
out_even_comu <- vector(mode = "list", length=length(sets))
for(i in 1:length(sets)){
tbl_freq_comu_even <- datos_general %>%
dplyr::filter(dataset == sets[i], code_farmer %in% fam_intersect ) %>%
tabyl(cu_community, cu_variety_name) %>% as.data.frame()
out_even_comu[[i]] <- plyr::ddply(tbl_freq_comu_even,~cu_community,function(x) {
data.frame(Pielou=diversity(x[-1], index="simpson")/log(sum(x[-1]>0))) })
}
for(i in 1:length(sets)){
cat('\n\n#####',sets[i],'\n\n')
cat("Resultados del datasets ",sets[i],"\n\n")
print(htmltools::tagList(DT::datatable(out_even_comu[[i]] %>% as.data.frame())))
}
```
:::
Comparando por localidades en común
```{r}
tbl_even_comu <- inner_join(inner_join(out_even_comu[[1]],out_even_comu[[2]], by ="cu_community" ), out_even_comu[[3]], by ="cu_community")
names(tbl_even_comu)[2:4]<- paste("even",sets,sep = "_")
DT::datatable(tbl_even_comu)
```
Gráficamos
```{r}
res <- tbl_even_comu %>% pivot_longer(cols = 2:4,names_to = "study")
p <- res %>%
ggplot(aes(cu_community, value, group = study, colour = as_factor(study))) +
geom_point(alpha = 0.4, size = 5) +
geom_line(aes(group=cu_community), colour = "midnightblue", linewidth=1) +
#facet_wrap(~cu_community)+
#guides(x = guide_axis(angle = 90)) +
scale_colour_viridis_d() +
labs(x = "Diversity value", y="Zone", colour = "Year",title = "Abudance by community")
p
```
### Evenness por familia (con las mismas familias)
::: panel-tabset
```{r results='asis'}
#| results: asis
library(vegan)
sets <- datos_general$dataset %>% unique()
out_even_fam <- vector(mode = "list", length=length(sets))
for(i in 1:length(sets)){
tbl_freq_fam_even <- datos_general %>%
dplyr::filter(dataset == sets[i], code_farmer %in% fam_intersect ) %>%
tabyl(code_farmer, cu_variety_name) %>% as.data.frame()
out_even_fam[[i]] <- plyr::ddply(tbl_freq_fam_even,~code_farmer,function(x) {
data.frame(Pielou=diversity(x[-1], index="simpson")/log(sum(x[-1]>0))) })
}
for(i in 1:length(sets)){
cat('\n\n#####',sets[i],'\n\n')
cat("Resultados del datasets ",sets[i],"\n\n")
print(htmltools::tagList(DT::datatable(out_even_fam[[i]] %>% as.data.frame())))
}
```
:::
Juntando las familias y los índices de abundancia de los datasets:
```{r}
tbl_even_fam <- inner_join(inner_join(out_even_fam[[1]],out_even_fam[[2]], by ="code_farmer" ), out_even_fam[[3]], by ="code_farmer")
names(tbl_even_fam )[2:4]<- paste("even",sets,sep = "_")
DT::datatable(tbl_even_fam )
writexl::write_xlsx(tbl_even_fam, path = "tabla_evenness_familias.xlsx")
```
Gráfico
```{r}
res <- tbl_even_fam %>%
pivot_longer(cols = 2:4, names_to = "estudio") %>%
arrange(desc(value))
plot_ly(
res,
x = ~ estudio,
y = ~ code_farmer,
z = ~ value,
type = 'heatmap',
colors = "YlGn"
)
```
### Evenness por variedad (con las mismas familias)
::: panel-tabset
```{r results='asis'}
#| echo: true
#| results: asis
library(vegan)
sets <- datos_general$dataset %>% unique()
out_even_vrty <- vector(mode = "list", length=length(sets))
for(i in 1:length(sets)){
tbl_freq_vrty_even <- datos_general %>%
dplyr::filter(dataset == sets[i], code_farmer %in% fam_intersect ) %>%
tabyl(cu_variety_name,code_farmer) %>% as.data.frame()
out_even_vrty[[i]] <- plyr::ddply(tbl_freq_vrty_even,~cu_variety_name,function(x) {
data.frame(Pielou=diversity(x[-1], index="simpson")/log(sum(x[-1]>0))) })
}
for(i in 1:length(sets)){
cat('\n\n#####',sets[i],'\n\n')
cat("Resultados del datasets ",sets[i],"\n\n")
print(htmltools::tagList(DT::datatable(out_even_vrty[[i]] %>% as.data.frame())))
}
```
:::
Juntando las familias y los índices de abundancia de los datasets:
```{r}
tbl_even_vrty <- inner_join(inner_join(out_even_vrty[[1]],out_even_vrty[[2]], by ="cu_variety_name" ), out_even_vrty[[3]], by ="cu_variety_name")
names(tbl_even_vrty )[2:4]<- paste("even",sets,sep = "_")
DT::datatable(tbl_even_vrty )
writexl::write_xlsx(tbl_even_vrty,path = "tabla_evenness_variety.xlsx")
```
Gráfico
```{r}
res <- tbl_even_vrty %>%
pivot_longer(cols = 2:4, names_to = "estudio") %>%
arrange(desc(value))
plot_ly(
res,
x = ~ estudio,
y = ~ cu_variety_name,
z = ~ value,
type = 'heatmap',
colors = "YlGn"
)
```
### Bray-Curtis (variedades y codigo agricultor)
- Se considero el índice de similaridad de Bray-Curtis
```{r}
tbl_freq_fam <- datos_moni22 %>% tabyl(code_farmer, cu_variety_name) %>% as.data.frame()
bray_curtis_matrix <- vegan::vegdist(tbl_freq_fam[,-1], method = "bray")
#writexl::write_xlsx(bray_curtis_matrix, path="bray_curtis_matrix.xlsx")
#DT::datatable(bray_curtis_matrix)
#plot(cmdscale(bray_curtis_matrix), main = "Bray-Curtis Dissimilarity Plot")
```
```{r}
# tbl_freq_fam_moni22 <- datos_moni22 %>% tabyl(code_farmer, cu_variety_name) %>% as.data.frame()
# plyr::ddply(tbl_freq_fam,~code_farmer,function(x) {
# data.frame(Pielou=diversity(x[-1], index="simpson")/log(sum(x[-1]>0))) })
#
#
#
# tbl_freq_fam_moni22 <- datos_moni22 %>% tabyl(code_farmer, cu_variety_name) %>% as.data.frame()
# plyr::ddply(tbl_freq_fam,~code_farmer,function(x) {
# data.frame(Pielou=diversity(x[-1], index="simpson")/log(sum(x[-1]>0))) })
#
#
#
#
# tbl_freq_fam_moni22 <- datos_moni22 %>% tabyl(code_farmer, cu_variety_name) %>% as.data.frame()
# plyr::ddply(tbl_freq_fam,~code_farmer,function(x) {
# data.frame(Pielou=diversity(x[-1], index="simpson")/log(sum(x[-1]>0))) })
#
#
#bray_curtis_matrix <- vegan::vegdist(tbl_freq_fam[,-1], method = "bray")
```
## Abundance por comunidad y familia para Challabamba Monitoreo-2022
```{r}
#| echo: true
# tbl_freq_community <- datos_moni22 %>% tabyl(cu_community, cu_variety_name) %>% as.data.frame()
# plyr::ddply(tbl_freq_community,~cu_community,function(x) {
# data.frame(Pielou=diversity(x[-1], index="simpson")/log(sum(x[-1]>0))) })
# tbl_freq_fam <- datos_moni22 %>% tabyl(code_farmer, cu_variety_name) %>% as.data.frame()
# plyr::ddply(tbl_freq_fam,~code_farmer,function(x) {
# data.frame(Pielou=diversity(x[-1], index="simpson")/log(sum(x[-1]>0))) })
#
#
# tbl_freq_adm3 <- datos_moni22 %>% tabyl(adm3_name, cu_variety_name) %>% as.data.frame()
# plyr::ddply(tbl_freq_adm3, ~adm3_name,function(x) {
# data.frame(Pielou=diversity(x[-1], index="simpson")/log(sum(x[-1]>0))) })
```
- Bray-Curtis dissimilarity index
```{r}
#bray_curtis_matrix <- vegan::vegdist(tbl_freq_fam[,-1], method = "bray")
```
## Abundance por comunidad y familia para Challabamba Muestreo-2022
```{r}
#library(vegan)
# tbl_freq_community <- datos_muestreo22 %>% tabyl(cu_community, cu_variety_name) %>% as.data.frame()
# plyr::ddply(tbl_freq_community,~cu_community,function(x) {
# data.frame(Pielou=diversity(x[-1], index="simpson")/log(sum(x[-1]>0))) })
#
# tbl_freq_fam <- datos_muestreo22 %>% tabyl(code_farmer, cu_variety_name) %>% as.data.frame()
# plyr::ddply(tbl_freq_fam,~code_farmer,function(x) {
# data.frame(Pielou=diversity(x[-1], index="simpson")/log(sum(x[-1]>0))) })
#
#
# tbl_freq_adm3 <- datos_muestreo22 %>% tabyl(adm3_name, cu_variety_name) %>% as.data.frame()
# plyr::ddply(tbl_freq_adm3, ~adm3_name,function(x) {
# data.frame(Pielou=diversity(x[-1], index="simpson")/log(sum(x[-1]>0))) })
```
## Presencia-Ausencia
### Con las mismas localidades
```{r}
comunidades <- datos_09$cu_community %>% unique()
upstbl <- freq_upset(datos_general %>% filter(cu_community %in% comunidades), "cu_variety_name", "dataset")
upspam <- pam_upset(upstbl) %>% select(1,4,2,3)
DT::datatable(upspam)
```
```{r}
graf_ups_period_variety <- upset_plot(upspam, names(upspam)[2:4], c("red","blue","yellow"))
graf_ups_period_variety
writexl::write_xlsx(tbl_even_fam,path = "tabla_challabamba_presen_ausencia_variedades.xlsx")
```
### Con todas las comunidades
```{r}
upstbl <- freq_upset(datos_general, "cu_variety_name", "dataset")
upspam <- pam_upset(upstbl) %>% select(1,4,2,3)
DT::datatable(upspam)
```
```{r}
graf_ups_period_variety <- upset_plot(upspam, names(upspam)[2:4], c("red","blue","yellow"))
graf_ups_period_variety
```
## Caso: sin considerar familias en común
### Abundancia por comunidad (sin familias en común)
::: panel-tabset
```{r results='asis'}
#| results: asis
library(vegan)
sets <- datos_general$dataset %>% unique()
out_abun_comunity <- vector(mode = "list", length=length(sets))
for(i in 1:length(sets)){
tbl_freq_community <- datos_general %>% dplyr::filter(dataset == sets[i] ) %>%
tabyl(cu_community, cu_variety_name) %>% as.data.frame()
out_abun_comunity[[i]] <- plyr::ddply(tbl_freq_community,~cu_community,function(x) {
data.frame(Abundance=sum(x[-1]))
})
}
for(i in 1:length(sets)){
cat('\n\n#####',sets[i],'\n\n')
cat("Resultados del datasets ",sets[i],"\n\n")
print(htmltools::tagList(DT::datatable(out_abun_comunity[[i]] %>% as.data.frame())))
}
```
:::
Comparando por localidades en común
```{r}
tbl_even_abundance <- inner_join(inner_join(out_abun_comunity[[1]],out_abun_comunity[[2]], by ="cu_community" ), out_abun_comunity[[3]])
names(tbl_even_abundance)[2:4]<- paste("abund",sets,sep = "_")
DT::datatable(tbl_even_abundance)
```
### Evenness por comunidad (sin familias en comun)
::: panel-tabset
```{r results='asis'}
#| results: asis
library(vegan)
sets <- datos_general$dataset %>% unique()
out_even_fam <- vector(mode = "list", length=length(sets))
for(i in 1:length(sets)){
tbl_freq_fam_even <- datos_general %>%
dplyr::filter(dataset == sets[i] ) %>%
tabyl(cu_community, cu_variety_name) %>% as.data.frame()
out_even_fam[[i]] <- plyr::ddply(tbl_freq_fam_even,~cu_community,function(x) {
data.frame(Pielou=diversity(x[-1], index="simpson")/log(sum(x[-1]>0))) })
}
for(i in 1:length(sets)){
cat('\n\n#####',sets[i],'\n\n')
cat("Resultados del datasets ",sets[i],"\n\n")
print(htmltools::tagList(DT::datatable(out_even_fam[[i]] %>% as.data.frame())))
}
```
:::
Comparando por localidades en común
```{r}
tbl_even_fam <- inner_join(inner_join(out_even_fam[[1]],out_even_fam[[2]], by ="cu_community" ), out_even_fam[[3]])
names(tbl_even_fam)[2:4]<- paste("abund",sets,sep = "_")
DT::datatable(tbl_even_fam)
```