J'ai développé une fonction qui prend une liste de fichiers, effectue quelques tests statistiques et génère un fichier Excel. Dans la dernière ligne de la fonction (return object), je veux que la fonction renvoie un fichier Excel avec les mêmes noms que ceux des fichiers d'entrée. Dans mon exemple, cela donnera list_file.xlsx. Si j'entre un autre fichier, disons fichier_liste, il devrait automatiquement retourner fichier_liste.xlsx. La fonction fonctionne correctement. Suggérez-moi comment coder la dernière ligne de la fonction pour que je puisse la généraliser.
newey<-function(list_files){
tsmom<-do.call(cbind,lapply(list_files,function(x) read_excel(x)[,2]))
tsmom<-xts(tsmom[,1:5],order.by = seq(as.Date("2005-02-01"),length=183,by="months")-1)
names(tsmom)<-c("tsmom121","tsmom123","tsmom126","tsmom129","tsmom1212")
## newey west
newey_west<-function(x){
model<-lm(x~1)
newey_west<-coeftest(model,vcov=NeweyWest(model,verbose=T))
newey_west[c(1,3,4)]
}
## running newey west
cs_nw_full<-do.call(cbind,lapply(tsmom,newey_west))
library(gtools)
p_values<-cs_nw_full[3,]
cs_nw_full[2,]<-paste0(cs_nw_full[2,],stars.pval(p_values))
write.xlsx(cs_nw_full,"list_file.xlsx")
}