- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 R 新手,我在 Ui.R 中有这段代码:
library(shiny)
ui <- shinyUI(fluidPage(
titlePanel("Test 1"),
sidebarLayout(
sidebarPanel(
checkboxGroupInput("sex", "sex", c("Men", "Women")),
textOutput("number")
),
mainPanel(
)
)
))
Server.R 中的这段代码:
server <- shinyServer(function(session, input, output) {
observeEvent(input$sex, {
if (input$sex == "Men"){s<-1}
number<-as.numeric(s)
if (input$sex == "Women"){s<-2}
number<-as.numeric(s)
if (input$sex == "Men" & input$sex == "Women"){s<-5}
number<-as.numeric(s)
if (is.null(input$sex)) {s<-10}
number<-as.numeric(s)
output$number<-renderText({number})
})
})
所以,我不明白为什么当我选中两个复选框时“数字”不取值 5,以及如果我取消选中两个复选框,为什么“数字”不取值 10?
如果你能帮助我理解,请。
非常感谢。
编辑:如何取消选择 checkboxGrouInput “动态”?
library(shiny)
ui <- shinyUI(fluidPage(
titlePanel("Test 1"),
sidebarLayout(
sidebarPanel(
checkboxGroupInput(inputId = "sex", label = "sex",choices =
c("Men", "Women", "Children")),
textOutput("number")
),
mainPanel(
checkboxGroupInput(inputId = "dynamic", label = "", choices =
list("Answer 1"="01", "Answer 2"="02",
"Answer 3"="03", "Answer 4"="04",
"Answer 5"="05", "Answer 6"="06",
"Answer 7"="07", "Answer 8"="08",
"Answer 9"="09", "Answer 10"="10",
"Answer 11"="11", "Answer 12"="12"))
)
)
))
和 Server.R :
server <- shinyServer(function(session, input, output) {
output$number<-renderText({
if (is.null(input$sex) ){return(10)
updateCheckboxGroupInput(session,"dynamic",selected=character(0))}
men <- "Men" %in% input$sex
women <- "Women" %in% input$sex
children <- "Children" %in% input$sex
if (men & women & children){
s <- 8
updateCheckboxGroupInput(session,"dynamic",
selected=list("01","02","03","04","05","06",
"07","08","09","10","11","12"))
} else if (men & women){
s <- 5
updateCheckboxGroupInput(session,"dynamic",
selected=list("01","02","03","04","05","06","07","08"))
} else if (men){
s <-1
updateCheckboxGroupInput(session,"dynamic",
selected=list("01","02","03","04"))
} else if (women){
s <-2
updateCheckboxGroupInput(session,"dynamic",
selected=list("05","06","07","08"))
} else if (children) {
s <- 3
updateCheckboxGroupInput(session,"dynamic",
selected=list("09","10","11","12"))
}
return(as.numeric(s))
})
})
非常感谢。
最佳答案
在您的代码中需要考虑的几点:
1) 如果同时选择了男性和女性,则 input$sex 的长度=2 (chr [1:2] "Men""Women")。这条线行不通。
(input$sex == "Men" & input$sex == "Women")
2) 在应用程序初始化时 input$sex 为 NULL,并且您不能像在 if 语句中那样使用 null
if (input$sex == "Men")
3) 你不需要observeEvent。 renderText 对 input$sex 有反应。
我对你的代码做了一些修改
library(shiny)
ui <- shinyUI(fluidPage(
titlePanel("Test 1"),
sidebarLayout(
sidebarPanel(
checkboxGroupInput(inputId = "sex", label = "sex",choices = c("Men", "Women")),
textOutput("number")
),
mainPanel()
)
))
server <- shinyServer(function(session, input, output) {
output$number<-renderText({
if (is.null(input$sex) ){return(10)}
if (length(input$sex) ==1){
if (input$sex == "Men"){
s<-1
} else if (input$sex == "Women"){
s<-2
}
} else{
return(5)
}
return(as.numeric(s))
})
})
shiny::shinyApp(ui, server)
更新 - 如果您有更多选择
library(shiny)
ui <- shinyUI(fluidPage(
titlePanel("Test 1"),
sidebarLayout(
sidebarPanel(
checkboxGroupInput(inputId = "sex", label = "sex",choices = c("Men", "Women", "Children")),
textOutput("number")
),
mainPanel()
)
))
server <- shinyServer(function(session, input, output) {
output$number<-renderText({
if (is.null(input$sex) ){return(10)}
men <- "Men" %in% input$sex
women <- "Women" %in% input$sex
children <- "Children" %in% input$sex
if (men & women & children){
s <- 8
} else if (men & women){
s <- 5
} else if (men){
s <-1
} else if (women){
s <-2
} else if (children) {
s <- 3
}
return(as.numeric(s))
})
})
shiny::shinyApp(ui, server)
关于R Shiny : checkboxGroupInput value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40193240/
在类似的帖子 ( How to align a group of checkboxGroupInput in R Shiny) 中,复选框仅垂直对齐(如我的示例)或仅水平对齐(R Shiny disp
这是带有复选框组输入的示例代码: library(shiny) server my_max){ updateCheckboxGroupInput(session, "SelecetedV
我有一个包含 checkboxGroupInput 的 R Shiny 应用程序,我正在尝试使用 updateCheckboxGroupInput 函数创建一个“全选”按钮。 你可以在下面看到完整的代
我正在使用 R shiny 开发交互式分析工具。现在我想根据checkboxGroupInput中的变量检查做分类树。如何选择该数据子集?谢谢! 用户界面: dateInput("dat
我是 R 新手,我在 Ui.R 中有这段代码: library(shiny) ui <- shinyUI(fluidPage( titlePanel("Test 1"), sidebarLay
我想使用 checkboxGroupInput,然后,如果选中某个框,我想要一个条件面板。一个玩具示例在这里: shinyUI(fluidPage( sidebarLayout( sidebar
如何修改以下代码,使 'checkboxGroupInput' 的选项包含在 'width: 200px' 内? library(shiny) ui <- fluidPage( tags$styl
在我的 Shiny UI 中有 ui <- checkboxGroupInput("my_cbgi", "Choose Something", c("A", "B", "C", "D")) 我希望选项
我的 Shiny 应用中有一个 checkboxGroupInput,代码如下: checkboxGroupInput("sexe", "Sexe:", c("Masculin" = "mas","F
如何显示 checkboxGroupInput水平(内联块)与 R Shiny ? 最佳答案 你可以这样做: checkboxGroupInput(inputId="test", label="Tes
我已经设置了以下 Shiny 代码: 全局.R: library(shiny) library(gapminder) library(tidyverse) library(scales) 用户界面:
我已经设置了以下 Shiny 代码: 全局.R: library(shiny) library(gapminder) library(tidyverse) library(scales) 用户界面:
我有这些数据 我想使用 R shiny scatter plot > 服务器: library(dplyr) library(permute) set.seed(1) meta.df % dplyr:
我有一个与 this one 相关的问题, 但无法为我找到解决方案。 我有一个 react 性 ggplot,我想使用基于组数据的复选框来更新它。 目前,当我选择了一个框时,数据显示正确。如果我选择了
我创建了一组 checkboxGroupInput使用下面的代码,但显示不正确。 它看起来像这样: 知道如何在 Shiny 中强制正确对齐吗? 用户界面 uiOutput(outputId = "nu
我想根据复选框输入动态选择的列来子集我的数据。有什么方法可以让我的输入文件在我的代码中全局可用以便可以轻松执行进一步的操作。 以下是我的代码: 服务器.R library(shiny)
我正在尝试在一个应该绘制图形的 Shiny 应用程序中包含复选框。我的问题看起来很简单,但我无法自己解决 :( ,尽管 StackOverflow 或 R 帮助工具上有多个 CheckboxGroup
我正在尝试创建一个应用程序,其最终目标是选择满足用户使用 Shiny 元素(checkboxGroupInput, sliderInput, etc)选择的某些条件的矩阵的行 出于示例目的,让我们将数
我是一名优秀的程序员,十分优秀!