#install.packages("here")
library(stringr)
setwd("C:/Users/USUARIO/OneDrive - UNIVERSIDAD DE SEVILLA/Escritorio/Universidad/Tesis Alba/Tarea 1_Competencia/Estadillo_6meses")
library(here)
library(rstan)
substrRight <- function(x, n){
substr(x, nchar(x)-n+1, nchar(x))
}
archivos_rds <- list.files(path = here("output","stan_results"),pattern = "\\.rds$")
archivos_rds_path <- list.files(path = here("output","stan_results"),pattern = "\\.rds$",full.names = T)
# Loop para leer cada archivo RDS y asignar los datos a una variable con el nombre del archivo
nombre_variable <- sub("\\.rds$", "", archivos_rds)
for(i in 1:length(archivos_rds_path)) {
# Eliminar la extensión .rds para usar el nombre del archivo como nombre de la variable
nombre_variable <- sub("\\.rds$", "", archivos_rds)
datos <- readRDS(archivos_rds_path[i])
assign(nombre_variable[i], datos)
}
list_fit<-list(fitA,fitgsw, fitWUEi, fitfvfm, fitSLA,fitLDMC)
list_fit_water<-list(fitA_water, fitgsw_water , fitWUEi_water,
fitfvfm_water, fitSLA_water,fitLDMC_water)
traits<-c("A","gsw","WUEi","FvFm","SLA","LDMC")
# all models
reslistc<-list()
for (i in 1:length(list_fit)) {
reslistc[[i]] <- as.data.frame(summary(list_fit[[i]], pars=c("m1","alpha0intra_species",
"alpha0inter_species","alpha_t","alpha_e","alpha_d"),
probs=c(0.025, 0.50, 0.975))[[1]][,4:6])
reslistc[[i]]$parameter<-str_replace(str_replace(rownames(reslistc[[i]]),
pattern = "_dry", replacement = ""), pattern = "_wet", replacement = "")
reslistc[[i]]$water_status <- "all"
reslistc[[i]]$trait <- traits[i]
}
df_post <- do.call("rbind",reslistc)
# water_status models
reslist<-list()
for (i in 1:length(list_fit_water)) {
reslist[[i]] <- as.data.frame(summary(list_fit_water[[i]], pars=c("m1_dry", "m1_wet",
"alpha0intra_species_dry", "alpha0intra_species_wet",
"alpha0inter_species_dry", "alpha0inter_species_wet",
"alpha_t_dry", "alpha_t_wet", "alpha_e_dry",
"alpha_e_wet", "alpha_d_dry",
"alpha_d_wet"), probs=c(0.025, 0.50, 0.975))[[1]][,4:6])
reslist[[i]]$parameter<-str_replace(str_replace(rownames(reslist[[i]]),
pattern = "_dry", replacement = ""), pattern = "_wet", replacement = "")
reslist[[i]]$water_status <- substrRight(rownames(reslist[[i]]), n=3)
reslist[[i]]$trait <- traits[i]
}
df_water <- do.call("rbind",reslist)
res<-rbind(df_post,df_water)