R Shiny Dashboard 在初始化时不会在 sidebarMenu 内加载渲染的 UI

2024-06-23

我正在尝试根据用户希望如何提供输入来生成动态的 UI 元素。为了简单起见,我使用闪亮的仪表板,但我遇到了侧边栏菜单的问题。以前,当我将静态 UI 元素直接放入 sidebarMenu 中时,没有任何问题,但是当尝试将动态 UI 元素放入 sidebarMenu 中时,我遇到了问题。我正在使用 R 3.3.2 和 Shiny 1.0.0 以及仪表板 0.5.3。

我遇到的具体问题是,当程序首次加载时,动态 UI 元素不会加载。代码中似乎没有任何阻碍,因为即使卸载动态 UI,界面的所有功能也可以正常工作。我可以通过选择导航栏中的选项卡之一或将鼠标悬停在我已实现工具提示的内容上来加载动态 UI。

我无法提供确切的代码,但我重新创建了一个更小的可重现示例,该示例与我的较大版本具有相同的问题。

library("shiny")
library("shinydashboard")

header = dashboardHeader(
    title = "Dynamic UI Example"
)
sidebar = dashboardSidebar(
    sidebarMenu(
        menuItemOutput("dynamic_sidebar")
    )
)
body = dashboardBody(
    tabBox(
        tabPanel(
            strong("One")
        ),
        tabPanel(
            strong("Two")
        )
    )
)
ui = dashboardPage(header, sidebar, body)

server = shinyServer(function(input,output,session){
output$dynamic_sidebar = renderMenu({
        sidebarMenu(
            menuItem(
                "Slider or numeric problem",
                radioButtons("slider_or_numeric",
                   label = "Slider or Numeric Input",
                   choices = c("Slider", "Numeric"),
                   selected = "Slider",
                   inline = TRUE
                ),
                uiOutput("input")
            )     
        )
    })
    output$input = renderUI({
        if (input$slider_or_numeric == "Slider"){
            sliderInput("slider", 
                label = "slider",
                min = 0, max = 1,
                value = 0
            )
        } else {
            numericInput("numeric", 
                label = "numeric",
                min = 0, max = 1,
                value = 0
            )
        }
    })
})

shinyApp(ui, server)

要验证问题,加载后只需打开菜单项,您将看到单选按钮,但看不到其他任何内容。将导航栏上的选项卡从一个切换到两个,输入内容应出现在菜单中(必须在菜单打开时完成)。

我真的只是在这里抓住救命稻草,我已经解决这个问题几个小时了,我认为这只是与这些功能的不兼容。我真的希望有人能证明我错了,并告诉我我只是做错了。我已经找到了我的主程序的替代方案,但它们与我在这里想要完成的任务没有相同的美感。

感谢您的任何帮助!


我想我发现了这个问题,这很棘手,我花了一段时间才找到它。虽然这是一个很小的改变,但我会把整个事情发布出来。

我想这就是你想要的:

library("shiny")
library("shinydashboard")

header = dashboardHeader(
  title = "Dynamic UI Example"
)
sidebar = dashboardSidebar(
  sidebarMenu(
    menuItemOutput("dynamic_sidebar")
  )
)
body = dashboardBody(
  tabBox(
    tabPanel(
      strong("One")
    ),
    tabPanel(
      strong("Two")
    )
  )
)
ui = dashboardPage(header, sidebar, body)

server = shinyServer(function(input,output,session){
  output$dynamic_sidebar = renderMenu({
    sidebarMenu(
      menuItem(
        "Slider or numeric problem",
        radioButtons("slider_or_numeric",
                     label = "Slider or Numeric Input",
                     choices = c("Slider", "Numeric"),
                     selected = "Slider",
                     inline = TRUE
        )
      ),   
      uiOutput("input")  # no longer in menuItem call
    )
  })
  output$input = renderUI({
    if (input$slider_or_numeric == "Slider"){
      sliderInput("slider", 
                  label = "slider",
                  min = 0, max = 1,
                  value = 0
      )
    } else {
      numericInput("numeric", 
                   label = "numeric",
                   min = 0, max = 1,
                   value = 0
      )
    }
  })
})
shinyApp(ui, server)

我认为问题在于uiOutput("input")以某种方式滑入menuItem称呼。这对于 Shiny 来说是一个危险,而 Shiny 编辑器显然需要更多的支持来展示这种范围。

坦率地说,我有点困惑为什么当你玩它时它会出现。但足够了...

虽然我不完全确定我理解你希望它如何工作(显然这只是一个玩具示例),但这就是它现在启动时的样子:

在菜单扩展并通过新公开的单选按钮控件更改输入类型之后。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R Shiny Dashboard 在初始化时不会在 sidebarMenu 内加载渲染的 UI 的相关文章

  • 用于检查和批量线性模型的数据表选项

    我想知道是否有data table用于从数据集中批量处理线性模型并首先进行检查的选项 我需要对每个唯一标识符运行一堆线性模型 但首先我需要进行检查 对于每个唯一的 id 和年份 我需要检查是否有至少 24 个月的先前每月数据 但不超过 60
  • 在 dfm 中查找非英语标记并将其删除

    在 dfm 中如何检测非英语单词并将其删除 dftest lt data frame id 1 3 text c Holla this is a spanish word English online here Bonjour commen
  • 贝叶斯网络中一个节点的条件概率修改(R代码)

    估计贝叶斯网络中的条件概率后 我问了一个节点 Inlet gas total Pressure 的概率如下 bn mle before Inlet gas total pressure 节点 Inlet gas total Pressure
  • 如何在R中用采样字符替换通配符

    我有以下顺序 s0 lt KDRH THLA RT HLAK 那里的通配符字符由 我想要做的是用该向量中的采样字符替换该字符 AADict lt c A R N D C E Q G H I L K M F P S T W Y V Since
  • 以对数刻度绘制较长的 y 轴刻度,刻度向外

    我之前有一篇关于在特定 y 轴值处绘制较长刻度的文章 在特定 y 轴值处绘制较长的刻度 https stackoverflow com questions 51335424 plotting longer ticks at particul
  • 如何使用 python 读取或转换 .MAP 文件扩展名文档?

    是否有一种简单的方法 或可用的库 来读取 map 文件扩展文档中的数据 最好使用Python 或R 我正在使用 python PCRaster 中的建模工具 该工具使用 map 文件扩展名编写地图 然而有趣的是 我还没有找到可以打开和研究这
  • 将鼠标悬停在 ggplot 上时更新 CSS 和渲染工具提示以错误的顺序发生

    我在这里构建了一个虚拟应用程序 它为 ggplot 生成悬停消息 并确保它们保持在屏幕边界内 我编写了一些计算来确定所需的 CSS 更正并将其发送到服务器 它基于将悬停消息保留在此处的第一次尝试 SO问题 https stackoverfl
  • R:异步并行lapply

    迄今为止我发现使用并行的最简单方法lapply在 R 中是通过以下示例代码 library parallel library pbapply cl lt makeCluster 10 clusterExport cl cl clusterE
  • strsplit 与 gregexpr 不一致

    一条评论 https stackoverflow com questions 23961022 split strings on first and last commas 23964843 noredirect 1 comment3692
  • 在 heatmap.2 中将行标签设置为斜体

    我正在尝试使用 R 函数将行标签设置为斜体heatmap 2 没有默认选项 我无法通过设置找到解决方法par font 3 例如 如何将行标签设置为斜体heatmap 2 set seed 123 data matrix sample 10
  • 通过 R 中的方向矩阵进行回溯

    我有一个这样的矩阵 https i stack imgur com mzeRI png https i stack imgur com mzeRI png 你可以像这样加载它 matrix structure c C G C A 0 V V
  • 库存推文、文本挖掘、表情符号错误

    我希望您能够协助进行文本挖掘练习 我对 AAPL 推文感兴趣 并且能够从 API 中提取 500 条推文 我自己克服了几个障碍 但最后一部分需要帮助 由于某种原因 tm 包没有删除停用词 您能看一下可能是什么问题吗 表情符号会引起问题吗 绘
  • 使用 cmd 和 R 配置 databricks

    我正在尝试使用 databricks cli 并调用 databricks 配置 这就是我从 cmd 执行此操作的方法 somepath gt databricks configure token Databricks Host shoul
  • 使用 R 并行处理 XML 节点

    我正在尝试与 R 并行处理 XML 文档xml2包装和foreach功能 但我收到 node attrs x node nsMap ns 中的错误 外部指针无效 尝试导出树集群导出 示例代码 library xml2 library for
  • 我想将两个变量合并为一个具有日期格式的变量

    我有一个包含几个月的字符列的数据集 MONTH 和指示年份的数字列 YEAR 为了将其用作面板数据 我需要将这些结合起来YEAR and MONTH转换为日期格式的变量 我尝试过改变变量MONTH转换为数字格式 然后合并MONTH与柱YEA
  • 有没有一种方法可以将笔记本的选项卡设置在另一个下面?

    到目前为止 当使用ttk Notebook小部件 但我无法将选项卡设置在另一个选项卡下面 它们不断向东堆积 有没有办法让它们以某种方式堆叠 是的 请检查此代码 import tkinter as tk from tkinter import
  • 在ggplot2中设置base_size时重叠轴标签

    我正在改变base size via theme set 当我在屏幕上查看结果图时 它看起来很棒 但是 当我将其另存为 pdf 时 x 轴标签有点太接近轴编号 一件小事 theme set theme bw base size 9 不会造成
  • 没有适用于“filter_”的方法应用于类“c('double', 'numeric')”的对象

    使用下面的代码 我尝试过滤我的数据集 以便仅选择 CG less14 0 和 CG High14 0 的数据集 我收到错误 没有适用于 filter 的方法应用于 c double numeric 类的对象 我的代码有问题吗 married
  • 根据值绘制具有条件颜色的折线图

    我想绘制折线图 根据值 它应该改变它的颜色 我发现的是 plot sin seq from 1 to 10 by 0 1 type p col ifelse sin seq from 1 to 10 by 0 1 gt 0 5 red ye
  • 为什么 NaN^0 == 1

    受到早期高尔夫代码的提示 为什么会 gt NaN 0 1 1 这非常有道理NA 0为 1 因为NA缺少数据 并且any数字提高到 0 将得到 1 包括 Inf and Inf 然而NaN应该代表非数字 那么为什么会这样呢 当帮助页面出现时

随机推荐

  • 从 Android 中的 Thread 更新 UI

    我想从更新进度条的线程更新我的用户界面 不幸的是 当从 可运行 更新进度条的可绘制对象时 进度条消失了 更改进度条的可绘制部分onCreate 另一边有效 有什么建议么 public void onCreate Bundle savedIn
  • 如何检查 CLLocationCooperative2D 不为空?

    如何检查 CLLocationCooperative2D 不为空 这是一个非常古老的话题 但我现在需要它 我在 Klaas Hermanns 的帮助下解决了我的问题 做了一点小小的改变 代替 if myCoordinate kCLLocat
  • MySQL 复制 - 连接到主服务器时出错

    我正在尝试在 MySQL 中设置复制 但收到一个错误 我不知道如何修复 ERROR 1218 08S01 连接到主服务器时出错 不允许主机 sh047 mydomain com 连接到此 MySQL 服务器 我已将以下代码添加到 maste
  • 在 setup.py 中声明我的包的可选组件

    我已经建立了一个具有以下结构的库 filters init py core init py base py complex py number py string py extra init py django py iso py filt
  • Laravel 4:处理种子中的关系

    L4 的新种子功能中是否有一种简单的方法来管理多对多关系 一种方法是为数据透视表制作种子 但我需要做很多工作 对于此类事情的良好工作流程有什么想法吗 在最新版本的 Laravel 4 中 您可以在 DatabaseSeeder 类的 run
  • SublimeREPL 无法找到 R

    好吧 这让我发疯 我之前已经设置过 删除了 Sublime Text 现在我不记得正确的配置是什么 非常简单 我通过 SublimeREPL 运行 R 并且需要将 REPL 指向安装 R 的位置 我按照以下指示进行操作http sublim
  • 非成员运算符重载应该放在哪里?

    我想要超载operator lt lt 为了我的班级 我应该将这个重载定义添加到std命名空间 自从ostream operator lt lt 是的一部分std命名空间 或者我应该将其保留在全局命名空间中 简而言之 class MyCla
  • 为什么即使是非常简单的应用程序,MonoTouch 也会导致大量内存泄漏(根据 Instruments 的报告)?

    我正在使用 Instruments 运行一个非常基本的测试应用程序 它发现了很多内存泄漏 因为我知道 Apple 人员在将应用程序提交到 iTunes 时会检查内存泄漏 所以我想调查一下这个问题 我的环境 Mac OS X 10 6 6 上
  • svn 切换错误 - 不是同一个存储库

    我最近移动了 SVN 服务器 现在我正在尝试将工作副本从我的计算机重新定位到新服务器 但我得到了最奇怪的错误 我愿意 svn switch http 99 99 99 new svn company project trunk web 但我
  • 在标签上运行管道时如何获取分支名称?

    我从标签运行管道 比方说v1 0 0 在一个分支上 比方说staging 我的输出文件是用创建的 CI PROJECT NAME CI COMMIT REF NAME apk 结果是一个名为MyProject v1 0 0 apk 我希望在
  • 从 .gitlab-ci.yml 中的 JSON 中提取徽章 ID

    我有一个示例项目 https gitlab com mstein badge number example repo在 gitlab 中 我想获取最后一个徽章的 ID gitlab ci yml通过脚本 我了解所有徽章的概览作为 json
  • 如何避免 Google App Engine 标准环境中 Gorilla 会话的内存泄漏?

    我正在使用 Gorilla 在 Google App Engine 上启用会话变量 到目前为止 我只导入了 github com gorilla sessions 但 Gorilla 的页面显示 如果您不使用 gorilla mux 则需要
  • 将 Dynamo DB 流数据解组为 Json 格式

    我必须将DDB流消息转换为正常的json类型 为此我正在使用 unmarshalleddata aws DynamoDB Converter unmarshall result NewImage 其中 result NewImage 是 c
  • 如何在 Angular js 中创建动态工厂?

    在我的项目中 我必须在 Angular js 中创建动态工厂 其动态工厂名称如下 function createDynamicFactory modId return myModule factory modId existingServi
  • 从对象数组中删除重复项

    我有一堂课叫Customer它有几个字符串属性 例如 firstName lastName email etc 我从a读取客户信息csv创建类数组的文件 Customer customers 我需要删除具有相同电子邮件地址的重复客户 为每个
  • GUID 幕后花絮

    我想知道 GUID 的创建过程是怎样的 我的意思不是用什么来以特定语言创建 GUID SQL Server 中的 NewID C 中的 Guid NewGuid 我的意思是当你调用这些方法 函数时 它们会做什么来使图形用户界面 Also R
  • 如何在 Python 中打印异常?

    如何打印错误 异常except block try except print exception 对于 Python 2 6 及更高版本和 Python 3 x except Exception as e print e 对于 Python
  • 如何在 PHP 中解析 OFX(版本 1.0.2)文件?

    我有一个OFX http www ofx net 文件下载自Citibank https www citibank com co 该文件的 DTD 定义在http www ofx net DownloadPage Files ofx102s
  • 从 Laravel 中的命令调用控制器方法

    我有一个通过 Redis Pub Sub 监听的命令 收到发布后 我想调用控制器方法 以便可以更新数据库 但是 我无法找到任何关于如何从项目内部但在路由外部调用带有参数的控制器方法的解决方案 我见过的最接近的东西是这样的 return re
  • R Shiny Dashboard 在初始化时不会在 sidebarMenu 内加载渲染的 UI

    我正在尝试根据用户希望如何提供输入来生成动态的 UI 元素 为了简单起见 我使用闪亮的仪表板 但我遇到了侧边栏菜单的问题 以前 当我将静态 UI 元素直接放入 sidebarMenu 中时 没有任何问题 但是当尝试将动态 UI 元素放入 s