R checkboxInput和conditionalPanel处于闪亮状态

R checkboxInput和conditionalPanel处于闪亮状态,r,shiny,R,Shiny,选择s1时,仅显示一个侧栏面板和主面板,结果alpha为0.05,功率为0.8。选择s2时,仅显示一个侧栏面板和主面板,结果alpha为0.1,功率为0.9 这是我的ui.R和server.R 下面是我的ui.R文件的代码: library(shiny) ui <- shinyUI(fluidPage( titlePanel("aaaaaaaaaaaaaaaa"), tabsetPanel( navbarMenu("Means", tabPanel("

选择s1时,仅显示一个侧栏面板和主面板,结果alpha为0.05,功率为0.8。选择s2时,仅显示一个侧栏面板和主面板,结果alpha为0.1,功率为0.9

这是我的ui.R和server.R

下面是我的ui.R文件的代码:

library(shiny)
ui <- shinyUI(fluidPage(
  titlePanel("aaaaaaaaaaaaaaaa"),
  tabsetPanel(
    navbarMenu("Means",
           tabPanel("One Mean"),
           tabPanel("Two Means",
                    wellPanel(
                      checkboxInput(inputId = "s1", label = "S1", value = FALSE),
                      checkboxInput(inputId = "s2", label = "S2", value = FALSE)
                    ),
                    conditionalPanel(condition="input.s1==true",
                      sidebarPanel(
                        p(strong("Error Rates")),
                        numericInput("alpha", label="Alpha", min=0, max=1,value=0.05),
                        numericInput("power", "Power", 0.8),
                        actionButton("submit","Submit")
                      ),
                      mainPanel(
                        tabsetPanel(
                          tabPanel("Main",
                                   tableOutput("Table"),
                                   uiOutput("Text")
                          )
                        )
                      )
                    ),
                    conditionalPanel(condition="input.s2==true",
                                     sidebarPanel(
                                       p(strong("Error Rates")),
                                       numericInput("alpha", label="Alpha", min=0, max=1,value=0.1),
                                       numericInput("power", "Power", 0.9),
                                       actionButton("submit","Submit")
                                     ),
                                     mainPanel(
                                       tabsetPanel(
                                         tabPanel("Main",
                                                  tableOutput("Table"),
                                                  textOutput("Text")
                                         )
                                       )
                                     )
                    )
          )
    ))))
库(闪亮)

ui这应该适合你。您需要稍微修改服务器代码以处理不同的ID。不同的UI元素不能具有相同的id

ui <- shinyUI(fluidPage(
  titlePanel("aaaaaaaaaaaaaaaa"),
  tabsetPanel(
    navbarMenu("Means",
               tabPanel("One Mean"),
               tabPanel("Two Means",
                        wellPanel(
                          radioButtons(inputId = "buttons", "Selections", c("S1", "S2"), selected = "S1", inline = TRUE)
                        ),
                        sidebarPanel(
                          conditionalPanel(condition = "input.buttons == 'S1'",
                                           p(strong("Error Rates")),
                                           numericInput("alpha", label="Alpha", min=0, max=1,value=0.05),
                                           numericInput("power", "Power", 0.8),
                                           actionButton("submit","Submit")
                                           ),
                          conditionalPanel(condition = "input.buttons == 'S2'",
                                           p(strong("Error Rates")),
                                           numericInput("alpha1", label="Alpha", min=0, max=1,value=0.1),
                                           numericInput("power1", "Power", 0.9),
                                           actionButton("submit1","Submit")
                                           )
                        ),
                        mainPanel(
                          tabsetPanel(
                            tabPanel("Main",
                                     tableOutput("Table"),
                                     textOutput("Text")
                            )
                          )
                        )
               )
    ))))

ui这应该适合你。您需要稍微修改服务器代码以处理不同的ID。不同的UI元素不能具有相同的id

ui <- shinyUI(fluidPage(
  titlePanel("aaaaaaaaaaaaaaaa"),
  tabsetPanel(
    navbarMenu("Means",
               tabPanel("One Mean"),
               tabPanel("Two Means",
                        wellPanel(
                          radioButtons(inputId = "buttons", "Selections", c("S1", "S2"), selected = "S1", inline = TRUE)
                        ),
                        sidebarPanel(
                          conditionalPanel(condition = "input.buttons == 'S1'",
                                           p(strong("Error Rates")),
                                           numericInput("alpha", label="Alpha", min=0, max=1,value=0.05),
                                           numericInput("power", "Power", 0.8),
                                           actionButton("submit","Submit")
                                           ),
                          conditionalPanel(condition = "input.buttons == 'S2'",
                                           p(strong("Error Rates")),
                                           numericInput("alpha1", label="Alpha", min=0, max=1,value=0.1),
                                           numericInput("power1", "Power", 0.9),
                                           actionButton("submit1","Submit")
                                           )
                        ),
                        mainPanel(
                          tabsetPanel(
                            tabPanel("Main",
                                     tableOutput("Table"),
                                     textOutput("Text")
                            )
                          )
                        )
               )
    ))))

ui我最近在研究一个类似的问题时遇到了这个问题

这不是上述答案的替代方案,但我认为有必要指出,因为问题的标题是闪亮的checkboxInput和conditionalPanel

checkboxInput条件的简单答案至少如下所示:

conditionalPanel(condition=“input.s1==1”,

conditionalPanel(condition=“input.s2==1”,


显然,仍然存在唯一ID的问题,并且事实上,
radioButtons()
在上面讨论的上下文中更合适。

我最近在研究类似的问题时遇到了这个问题

这不是上述答案的替代方案,但我认为有必要指出,因为问题的标题是闪亮的checkboxInput和conditionalPanel

checkboxInput条件的简单答案至少如下所示:

conditionalPanel(condition=“input.s1==1”,

conditionalPanel(condition=“input.s2==1”,



显然,仍然存在唯一ID的问题以及
radioButtons()的事实
在上面讨论的上下文中更合适。

欢迎。我这里没有问题。你能更明确一点你想要什么吗?如果我选择s1,那么只显示alpha=0.05面板,如果我选择s1,那么只显示alpha=0.1面板。现在一页中有两个面板。谢谢。@stata你需要两个
s1
面板吗d
s2
随时被选中?你希望它在这种情况下如何工作?@krish不,只选择一个。@stata:好的,那么在这种情况下,使用
单选按钮是有意义的。这不是一个解决方案,只是更好的练习。不客气。我在这里没有看到问题。你能更明确一点你想要什么吗?如果我选择s1,那么只显示alpha=0.05面板,如果我选择s1,那么只显示alpha=0.1面板。现在一页中有两个面板。谢谢。@stata您需要在任何时候同时选择
s1
s2
吗?您希望它在这种情况下如何工作?@krish不,只选择一个。@stata:好的,那么在这种情况下使用
无线按钮是有意义的e> 。这不是一个解决方案,只是更好的练习。谢谢。现在用s1提交是动作,但用s2提交不是动作。@stata,我没有明白你想说的。当我选择s2并提交时,Main的内容是空的。@stata,就像我在回答中提到的,你需要修改服务器代码来处理UI元素的不同IDnts。元素不能有相同的ID,因此我更改了ID(
alpha
alpha1
等等)…@krish,谢谢。如果我想在ui中使用相同的ID,如何修改它?谢谢。现在用s1提交是动作,但用s2提交不是动作。@斯塔塔,我不明白你想说什么。当我选择s2并提交时,Main的内容是空的。@斯塔塔,就像我在回答中提到的,你需要修改服务器代码来处理这个问题UI元素的ID不同。元素的ID不能相同,因此我更改了ID(
alpha
alpha1
等等)。@krish,谢谢。如果我想在UI中使用相同的ID,如何修改它?