PhysicalActivityandStrokeOu.../apps/Index app/server.R
2022-08-19 11:06:48 +02:00

105 lines
2.7 KiB
R

server <- function(input, output, session) {
library(dplyr)
library(ggplot2)
library(tidyr)
source("https://raw.githubusercontent.com/agdamsbo/ENIGMAtrial_R/main/src/plot_index.R")
source("https://raw.githubusercontent.com/agdamsbo/ENIGMAtrial_R/main/src/index_from_raw.R")
dat<-reactive({
df<-data.frame(record_id="1",
ab=input$version,
age=input$age,
imm=input$rs1,
vis=input$rs2,
ver=input$rs3,
att=input$rs4,
del=input$rs5,
stringsAsFactors = FALSE)
return(df)
})
dat_u<-reactive({
# input$file1 will be NULL initially. After the user selects
# and uploads a file, head of that data file by default,
# or all rows if selected, will be shown.
req(input$file1)
df <- read.csv(input$file1$datapath,
header = input$header,
sep = input$sep,
quote = input$quote)
return(df)
})
dat_f<-reactive({
if (input$type==1){
return(dat())}
if (input$type==2){
return(head(dat_u(),10))}
})
index_p <- reactive({ df<-index_from_raw(ds=dat_f(),
indx=read.csv("https://raw.githubusercontent.com/agdamsbo/ENIGMAtrial_R/main/data/index.csv"),
version = dat_f()$ab,
age = dat_f()$age,
raw_columns=c("imm","vis","ver","att","del"))
colnames(df)<-c("id",
"a_is",
"b_is",
"c_is",
"d_is",
"e_is",
"i_is",
"a_ci",
"b_ci",
"c_ci",
"d_ci",
"e_ci",
"i_ci",
"a_per",
"b_per",
"c_per",
"d_per",
"e_per",
"i_per")
return(df)
})
output$ndx.tbl <- renderTable({
index_p()|>
select("id",contains("_is"))
})
output$per.tbl <- renderTable({
index_p()|>
select("id",contains("_per"))
})
output$ndx.plt<-renderPlot({
plot_index(index_p(),sub_plot = "_is")
})
output$per.plt<-renderPlot({
plot_index(index_p(),sub_plot = "_per")
})
# Downloadable csv of selected dataset ----
output$downloadData <- downloadHandler(
filename = "index_lookup.csv",
content = function(file) {
write.csv(index_p(), file, row.names = FALSE)
}
)
}