【发布时间】:2021-02-09 08:52:13
【问题描述】:
所以基本上我正在尝试开发一个用户界面,如果人们在复选框中患有疾病,则可以在其中选择是或否。然后它将对每种相应的疾病进行是/否的回答,并创建一个数据框,以便可以呈现日期表并且人们可以看到他们的反应。我一直在努力尝试将复选框中单击的内容放入一个数据框中,其中包含我在编码中创建另一个日期框架的疾病。我已经尝试了几件事,现在它一直说当我尝试从用户选择的数据框创建数据框时找不到对象“data1”、“吸烟”和“糖尿病”。看来我的 if/else 语句不起作用。下面是我的代码
library(shiny)
library(DT)
# Define UI for application that draws a histogram
ui <- fluidPage(
# Application title
titlePanel("IVD"),
sidebarLayout(
sidebarPanel(
checkboxGroupInput("Diabete", "Diabetes:",
choices = c("Yes" = "yes0",
"No" = "no0")),
checkboxGroupInput("Smoke", "Smoking:",
c("Yes" = "yes1",
"No" = "no1"))),
mainPanel(
fluidRow(actionButton("button", "Click for Risk Prediction")),
dataTableOutput("summary_table")
)
)
)
# Define server logic required to draw a histogram
server <- function(input, output) {
observeEvent(input$button, {
output$summary_table<-renderDataTable({
a<- eventReactive(input$Diabete, {
if (input$Diabete == "yes0") {
a=1
} else {
a=0
}})
b<- eventReactive(input$Smoke, {
if (input$Diabete == "yes1") {
b=1
} else {
b=0
}})
ivd<-c('Diabetes','Smoking')
#data<- c(11,10,sugar,8,7,6,5,4,3,2,1)
values <- reactiveValues()
values$ivd <- data.frame()
eventReactive(input$Diabete, {
diabetes <- a
smoking <- b
da <- data.frame(diabetes, smoking)
data1 <- rbind(values$ivd, da)
})
ivd_data<-data.frame(ivd,data1,stringsAsFactors=FALSE )
print(ivd_data)
})
})
}
# Run the application
shinyApp(ui = ui, server = server)
【问题讨论】:
标签: r dataframe checkbox shiny reactive