新鲜有光泽...
1.我想使用ui.R
创建dashboardPage
并定义selectInput
框(完成!)
2.一旦用户选择selectInput
中的一个字段,就会获得Schools_Info.R
个文件。
我试过了source("Schools_Info.R")
,但我想要一些在背景中运行Schools_Info.R
的函数
你是怎么做到的?
3. Schools_Info.R
包含我要用作a的min
和max
的值
sliderInput
。
如何根据用户从sliderInput
框中选择的内容自定义min
来自动调整其限制(max
和selectInput
?
library(shiny)
options(shiny.trace=TRUE)
library(shinydashboard)
locations <- c("Select your location",
paste0("\tLocation1"),
paste0("\tLocation2"),
paste0("\tLocation3")
)
ui <- dashboardPage(
dashboardHeader(title = "Basic dashboard"),
dashboardSidebar(
selectInput("selectedLoc",choices = locations),
source("Schools_Info.R"),
sliderInput("slider", "Number of observations:", 1, min, max)),
dashboardBody(
fluidRow(
box(
title = "Controls",
)
)
)
)
答案 0 :(得分:0)
在Schools_Info.R
中,确保已定义功能。运行该文件除了定义函数以供以后使用之外什么都不做。来自Schools_Info.R
开头的来源server.R
,甚至在shinyServer(
之前。然后使用用户从selectInput
窗口小部件中选择的任何内容来反复运行函数。您可以使用单独的函数来获取最大值和最小值,也可以使用this method同时从单个函数返回两个值。然后使用updateSliderInput
设置滑块上的最小值和最大值。
Schools_Info.r
GetMax = function(locality){15}
GetMin = function(locality){1}
server.R
max = reactive(GetMax(selectedLoc))
min = reactive(GetMax(selectedLoc))
observe({
updateSliderInput(session, "slider", "Number of observations:", c(max, min))
)}
显然,我不知道Schools_Info.R
的作用,所以我输入的函数非常简单。另外,我并不完全清楚observe
做了什么,所以可能没有必要。