闪亮 - 根据提取的值提取R文件,提取值并设置输入滑块

时间:2015-03-02 03:36:56

标签: r shiny

新鲜有光泽...
 1.我想使用ui.R创建dashboardPage并定义selectInput框(完成!)
 2.一旦用户选择selectInput中的一个字段,就会获得Schools_Info.R个文件。     我试过了source("Schools_Info.R"),但我想要一些在背景中运行Schools_Info.R的函数 你是怎么做到的?  3. Schools_Info.R包含我要用作a的minmax的值 sliderInput
如何根据用户从sliderInput框中选择的内容自定义min来自动调整其限制(maxselectInput

ui.R

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",
      )
    )
  )
)

1 个答案:

答案 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做了什么,所以可能没有必要。