Shiny - 获取 R 文件,提取值并根据提取的值设置输入滑块
Shiny - Source a R file,extract values and set input sliders according to the extracted values
清新闪亮...
1. 我想使用 dashboardPage
创建一个 ui.R
并定义一个 selectInput
框(完成!)
2. 一旦用户选择 selectInput
中的字段之一,就会生成 Schools_Info.R
文件。
我试过 source("Schools_Info.R")
但我想要一些函数,它会 运行 Schools_Info.R
在背景中。
你是怎么做到的?
3. Schools_Info.R
包含我想用作的 min
和 max
的值
sliderInput
.
我如何定义 sliderInput
以根据用户从 selectInput
框中选择的内容自动调整其限制(min
和 max
)?
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",
)
)
)
)
在 Schools_Info.R
中,确保已定义函数。 运行 该文件除了定义供以后使用的函数外什么都不做。来源 Schools_Info.R
在 server.R
的开头,甚至在 shinyServer(
之前。然后使用用户从 selectInput
小部件中选择的任何内容来响应地使用函数 运行。您可以使用单独的函数来获取最大值和最小值,或者您可以使用 this method to return two values from a single function at the same time. Then use 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
的作用,所以可能没有必要。
清新闪亮...
1. 我想使用 dashboardPage
创建一个 ui.R
并定义一个 selectInput
框(完成!)
2. 一旦用户选择 selectInput
中的字段之一,就会生成 Schools_Info.R
文件。
我试过 source("Schools_Info.R")
但我想要一些函数,它会 运行 Schools_Info.R
在背景中。
你是怎么做到的?
3. Schools_Info.R
包含我想用作的 min
和 max
的值
sliderInput
.
我如何定义 sliderInput
以根据用户从 selectInput
框中选择的内容自动调整其限制(min
和 max
)?
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",
)
)
)
)
在 Schools_Info.R
中,确保已定义函数。 运行 该文件除了定义供以后使用的函数外什么都不做。来源 Schools_Info.R
在 server.R
的开头,甚至在 shinyServer(
之前。然后使用用户从 selectInput
小部件中选择的任何内容来响应地使用函数 运行。您可以使用单独的函数来获取最大值和最小值,或者您可以使用 this method to return two values from a single function at the same time. Then use 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
的作用,所以可能没有必要。