| @ -0,0 +1,52 @@ | |||||
| library(shiny) | |||||
| # Define UI for application | |||||
| ui <- fluidPage( | |||||
| #Navbar | |||||
| navbarPage("Seguimiento in vivos", | |||||
| tabPanel("Diseño", | |||||
| sidebarPanel( | |||||
| fileInput(inputId = "file_sizes", label = "Hoja de tamaños", multiple = F), | |||||
| sliderInput("ncages", "Cajas", min=1, max=10, value=1), | |||||
| downloadButton("downloadData", "Descargar Excel") | |||||
| ) | |||||
| ), | |||||
| tabPanel("Análisis") | |||||
| ) | |||||
| ) | |||||
| # Define server logic required to draw a histogram | |||||
| server <- function(input, output) { | |||||
| output$downloadData <- downloadHandler( | |||||
| filename = function() { | |||||
| paste("invivo", ".xlsx", sep="") | |||||
| }, | |||||
| content = function(file){ | |||||
| ncages<-input$ncages | |||||
| nrat_cage<-5 | |||||
| id_tumors<-c("L","R") | |||||
| timepoint<-c(7,10,13,16,19,22,25) | |||||
| template<-expand.grid(LETTERS[1:ncages], 1:5, id_tumors, timepoint) | |||||
| colnames(template)<-c("Cage", "ID animal", "ID tumor", "Timepoint") | |||||
| template<-template[order(template$Timepoint, template$Cage, template$`ID animal`),] | |||||
| template["Group"]<-"" | |||||
| template<-rbind(template, template, template) | |||||
| template<-template[order(template$Timepoint, template$Cage, template$`ID animal`, template$`ID tumor`),] | |||||
| template["TS"]<-rep(c("TS-Length", "TS-Width", "TS-Deep"), nrow(template)/3) | |||||
| dtemplate<-dcast(template, Cage+`ID animal`+`ID tumor`+Group+TS~Timepoint) | |||||
| dtemplate[,6:ncol(dtemplate)]<-"" | |||||
| write.xlsx(dtemplate,file) | |||||
| } | |||||
| ) | |||||
| } | |||||
| # Run the application | |||||
| shinyApp(ui = ui, server = server) | |||||