使用 Shiny 创建响应式 selectInput - flexdashboard

2023-12-05

我正在尝试在 Flexdashboard 文档中使用 Shiny 制作反应式 selectInput。

  1. 我的第一次selectInput选择海洋公园中的区域类型。

    selectInput("Zone", label = "Marine Park Zoning:",
              choices = c("All", levels(EoTR$MarineParkZone)), selected = "All")
    
  2. 然后,我使用此输入创建一个反应式数据框,其中仅包含步骤 1 中选择的区域。

    zone.choices = reactive({
      if (input$Zone=="All"){
      select(EoTR, ReefName, MarineParkZone, MarineParkMgmtSection)
      }else{
      select(EoTR, ReefName, MarineParkZone, MarineParkMgmtSection)%>%
      filter(MarineParkZone==input$Zone)}
    })
    
  3. 然后我尝试使用这个反应式数据框来定义我的下一个选择selectInput

    reactive({
    selectInput("Reef", label = "Priority Reef:",
            choices = zone.choices()$ReefName, selected = "Arlington Reef (16-064)")
    })
    

当我运行该文档时,我的第二个输入显示一堆代码而不是选择菜单,因此基于该选择器的所有进程都会失败。

下面是一些可以重现该问题的代码

---
title: "Untitled"
output: 
  flexdashboard::flex_dashboard:
    orientation: columns
    vertical_layout: fill
runtime: shiny 
---
```{r}
library(flexdashboard)
library(dplyr)

EoTR = data.frame(ReefName=c("Reef1", "Reef2", "Reef3", "Reef4"), 
              MarineParkZone=c("Fished", "Fished", "Un-Fished", "Un-Fished"))

selectInput("Zone", label = "Marine Park Zoning:",
          choices = c("All", levels(EoTR$MarineParkZone)), selected = "All")

zone.choices = reactive({
  if (input$Zone=="All"){
  select(EoTR, ReefName, MarineParkZone)
  }else{
  select(EoTR, ReefName, MarineParkZone)%>%
  filter(MarineParkZone==input$Zone)}
})

reactive({
selectInput("Reef", label = "Priority Reef:",
        choices = zone.choices()$ReefName, selected = "Reef1")
})
```

我知道我定义反应性输入的方式可能有些愚蠢,但我真的很感激对此的任何帮助。

Cheers,

Sam


这是为您提供的解决方案:

---
title: "Untitled"
output: 
  flexdashboard::flex_dashboard:
    orientation: columns
    vertical_layout: fill
runtime: shiny 
---
```{r}
library(flexdashboard)
library(dplyr)

EoTR = data.frame(ReefName=c("Reef1", "Reef2", "Reef3", "Reef4"), 
              MarineParkZone=c("Fished", "Fished", "Un-Fished", "Un-Fished"))

selectInput("Zone", label = "Marine Park Zoning:",
          choices = c("All", levels(EoTR$MarineParkZone)), selected = "All")

zone.choices = reactive({
  if (input$Zone=="All"){
  EoTR
  }else{
  EoTR %>%
  filter(MarineParkZone==input$Zone)}
})


renderUI({selectInput("Reef", label = "Priority Reef:",
        choices = zone.choices()$ReefName, selected = "Reef1")})

```

问题在于你的selectInput("Reef"...),您已将其设置为反应式(这是不正确的)-->你应该将其渲染为 UI 对象(renderUI).

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

使用 Shiny 创建响应式 selectInput - flexdashboard 的相关文章

  • 如何生成向量的所有组合[重复]

    这个问题在这里已经有答案了 假设我有 3 个绿球 2 个橙球和 8 个黄球 我想订购它们 鉴于所有相同颜色的球都是相同的 如何生成所有可能的序列 在 R 中 使用gregmisc 我可以 balls lt c orange orange g
  • 如何调整ggplot直方图的时间刻度轴

    我正在使用一个数据框 其中一列包含POSIXct日期时间值 我正在尝试使用绘制这些时间戳的直方图ggplot2但我有两个问题 我不知道如何设置 binwidthgeom histogram 我想将每个垃圾箱设置为一天或一周 我尝试提供 di
  • R read_excel:libxls 错误:无法解析文件

    我试图使用 readxl read excel 将 xls 文件读入 R 但它给出了以下错误 Error filepath data xls libxls error Unable to parse file 还尝试了 readxl exc
  • 分离并重新附加“tools:rstudio”

    又名玩火 以下不起作用 rstd obj lt as environment tools rstudio detach tools rstudio attach rstd obj name tools rstudio 好吧 它似乎有效 但随
  • 如何让R使用所有处理器?

    我有一台运行 Windows XP 的四核笔记本电脑 但查看任务管理器 R 似乎一次只使用一个处理器 如何让 R 使用全部四个处理器并加速我的 R 程序 我有一个基本系统 我使用它在 for 循环上并行化我的程序 一旦您了解需要做什么 此方
  • 如何在不循环的情况下添加组ID?

    我有数据框 例如 productid ordernum p1 10 p2 20 p3 30 p4 5 p5 20 p6 8 我想添加另一列 称为 groupid 它将产品按顺序分组在一起 一旦 sum ordernum 达到 30 分配一个
  • ggplot 中的错误问题:“grid.Call(”L_textBounds“, as.graphicsAnnot(x$label), x$x, x$y, … 中的错误”[重复]

    这个问题在这里已经有答案了 我试图在 ggplot 中制作一个条形图 其中我通过强制其中一些标签为长度为零的字符串 即 来指定要显示的标签 但是 我收到错误 Error in grid Call L textBounds as graphi
  • 限制数据框中所有单元格的字符串长度?

    您好 有没有一种方法可以限制 data frame 中所有列的字符串文本大小 而不必循环遍历每一列并一次使用 str trunc 之类的东西 例如下面的数据框 我可以将所有文本大小限制为仅 5 个字符 而不必一次只执行一列吗 如果有 50
  • 在 R 中绘制对数正态概率密度

    我正在尝试在 R 中生成对数正态概率密度图 其中包含 3 个不同的均值对数和标准差对数 我尝试了以下方法 但我的图表太丑了 看起来一点也不好看 x lt seq 0 10 length 100 a lt dlnorm x meanlog 0
  • 从 R 中的 HTTPS 连接逐行读取

    当创建连接时open r 它允许逐行读取 这对于批量处理大数据流非常有用 例如这个脚本 https gist github com jeroenooms d33a24958d99bb969ac0通过一次读取 100 行来解析相当大的 gzi
  • 如何更改 Shiny 中 navbarPage 折叠的断点

    我想用shiny navbarPage collapsible TRUE 当在小屏幕上查看我的 Shiny 应用程序时 将导航元素折叠到菜单中 默认情况下 当浏览器宽度小于 940 像素时会触发折叠 有什么方法可以改变这一点 以便在稍大的浏
  • 将函数应用于 3d 数组的每一层,返回一个数组

    假设您有一个包含行 列和层的 3 维数组 A lt array 1 27 c 3 3 3 想象你有一个函数 它接受一个矩阵作为输入并返回一个矩阵作为输出 就像t 如何将该函数应用于数组的每一层 返回与第一层大小相同的另一个数组 我觉得我应该
  • 仅保留百分比的尾随零

    给出以下示例 library pander tableAbs lt Titanic 1 1 tablePct lt round prop table tableAbs 100 2 table lt cbind tableAbs tableP
  • 比较 R 中的两个字符向量

    我有两个 ID 字符向量 我想比较这两个字符向量 特别是我对以下数字感兴趣 A和B各有多少个ID 有多少个ID在A中但不在B中 有多少个ID在B但不在A 我还想画维恩图 以下是一些可以尝试的基础知识 gt A c Dog Cat Mouse
  • 如何将此“for”循环转换为向量解

    这个问题与 将嵌入其他文本的长州名称转换为两个字母的州缩写 https stackoverflow com questions 25582518 convert long state names embedded with other te
  • 使用 R 进行项目组织 [重复]

    这个问题在这里已经有答案了 可能的重复 统计分析和报告撰写的工作流程 https stackoverflow com questions 1429907 workflow for statistical analysis and repor
  • 有没有一种简单的方法来判断存储在一个列表中的许多数据帧是否包含相同的列?

    我有一个包含许多数据框的列表 df1 lt data frame A 1 5 B 2 6 C LETTERS 1 5 df2 lt data frame A 1 5 B 2 6 C LETTERS 1 5 df3 lt data frame
  • 表单提交时出现 rvest 错误

    我想从以下网页中抓取数据 https swgoh gg u zozo collection 180 emperor palpatine https swgoh gg u zozo collection 180 emperor palpati
  • 为什么 geom_boxplot 比基本箱线图识别更多异常值?

    这是一个可重复的示例 与基本箱线图相比 最后一个治疗组又发现了一个异常值 dta lt structure list Treatment c A A A A A A A A A A A A A A A A B B B B B B B B B
  • GGPLOT2:如何在 ggplot() 脚本中绘制特定选择

    这是一个名为的大型数据集的峰值P 其中有 10 个优惠 CS 有不同的商店 SHP 具有多个数值 数据集列出了按周排序的它们 WK 2 tm 52 它创建一个大文件 仅前 6 行出现峰值 WK MND CS SHP RevCY RevLY

随机推荐

  • Python 中的波形符运算符

    Python 中波浪号运算符的用法是什么 我能想到的一件事是在字符串或列表的两侧做一些事情 例如检查字符串是否是回文 def is palindromic s return all s i s i for i in range len s
  • 布尔等于:0 == a,操作数顺序重要吗?

    我看到有些人在他们的代码中写了这个布尔等于 我通常将常量放在 运算符的右侧 我注意到 0 a 的运算速度比 a 0 更快 有人可以解释为什么吗 最好的做法是什么 它是 C C 世界的遗物 用C写的好处0 a vs a 0是你不能不小心写a
  • 从 Windows 8 JS 应用程序获取仅 HTTP 的 cookie

    我正在制作一个 Javascript Windows 8 应用程序 其中用户连接到我的服务器并登录 目前 我正在尝试使用 XmlHttpRequest 对象来执行此操作 特别是 WinJS xhr 但是当我获得 getAllResponse
  • 如何在不重复代码的情况下改变多个变量?

    我正在尝试从现有变量创建新变量 如下所示 a1 a2 a3 b1 b2 b3 z1 z2 z3 这是一个示例数据框 df lt data frame replicate 10 sample 1 10 colnames df lt c a1
  • 如何在 JSF 中以编程方式设置区域设置

    我目前正在尝试以编程方式设置区域设置 但找不到好的解决方案 用例是我有另一个网站将数据发布到我的网站 该网站具有区域设置参数 并且基于此区域设置 我必须呈现我的页面 我已经尝试在 preRenderView 构造函数和 PostConstr
  • XLConnect 包可以与 Java 8 一起使用吗?

    我更新了 Java 版本并删除了旧版本的 Java 现在我的 XLConnect 包不会在 R 中加载 因为 XLConnectJars 不会加载 这是错误消息 Loading required package XLConnectJars
  • Opera 和 Internet Explorer 中的 JQuery 安全错误

    我正在开发一个适用于社交网络的应用程序 该应用程序适用于IFrame 该应用程序在 Google Chrome 和 Microsoft Firefox 浏览器中运行良好 但在 Opera 12 15 JQuery 库 v1 10 1 中无法
  • 通过 matplotlib 中的一个因子更改绘图比例

    我正在用 python 创建一个图 有没有办法按一个因子重新缩放轴 这yscale and xscale命令只允许我关闭对数刻度 Edit 例如 如果我有一个情节x尺度从 1 nm 到 50 nm x 尺度范围从 1x10 9 到 50x1
  • 使用 C void 参数“void foo(void)”更好还是不使用“void foo()”更好? [复制]

    这个问题在这里已经有答案了 什么是更好的 void foo or void foo void 对于 void 它看起来丑陋且不一致 但有人告诉我它很好 这是真的 编辑 我知道一些旧的编译器会做奇怪的事情 但如果我只使用 GCC 是void
  • 使用没有默认“名称”的 jquery TokenInput

    我尝试使用此处找到的 jquery tokeninput http loopj com jquery tokeninput 遵循 Railcast 的指南 http railscasts com episodes 258 token fie
  • 使用 IComparer 而不是 OrderBy 对字典列表进行排序

    以下是我的收集以及数据 var data new List
  • 克隆gitlab项目,使用git lfs,无需一直提供密码

    我决定在 gitlab 上尝试 git lfs 我注意到它不适用于 ssh 所以我决定使用 https 推送工作得很好 但是当我尝试克隆我的项目时 它要求我输入用户名和密码every file 这有点烦人 有什么解决方法吗 编辑2018 这
  • 绑定 DataGridTemplateColumn 可见性

    我试图将数据网格中列的可见性绑定到 ViewModel 中的布尔 DependencyProperty 在本例中设置为视图 UserControl 的数据上下文 由于某种原因 我似乎不明白 它不起作用 查看此处后 我发现 datagridt
  • 如何将 OleVariant 转换为 IDispatch 派生?

    今天我带来了另一个让我头疼的问题 我确实将 DAO 3 6 类型库导入到我的 delphi 7 中 并且我开始看到许多有趣的接口 因此我面临着有趣的问题 每次类 Fields 出现在另一个类的属性上时 它们都有正确的定义 我的意思是 他被定
  • 使用单个更新查询从深层嵌套数组中删除多个元素

    我有以下类型的文件 id ObjectId 5c05984246a0201286d4b57a f x a onlineStore p s a t id 1 dateP 20200 09 20 did x dst y den z
  • new操作分配的内存是连续的吗?

    正如标题所说 我想知道在c 中 一个new操作分配的内存是否是连续的 BYTE data new BYTE size 在此代码中 无论给定大小 返回的内存区域都是连续的 如果堆管理器无法分配连续的内存size 失败了 异常 或 NULLma
  • 断言语句在 C++ 中不起作用[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 在我的程序中使用断言时 我遇到了一个奇怪的问题 即使我添加一行代码 程序也不会终止assert false 但是assert当我编写几行示例代码时有效 有人知道为什么会发生吗 如果你
  • Terraform for-each 包含对象列表

    我在 Variables tf 文件中有以下变量 variable tenants description Map of project names to configuration type list object name string
  • 如何查找 SPFolder 中的项目计数?

    我有一个将项目存储在文件夹层次结构中的列表 我注意到SPFolder Files Count始终为零 有没有办法找出文件夹中有多少个列表项 我假设您正在寻找直接子项而不是后代 例如子文件夹中的项目 您是否还想在计数中包含子文件夹 在这种情况
  • 使用 Shiny 创建响应式 selectInput - flexdashboard

    我正在尝试在 Flexdashboard 文档中使用 Shiny 制作反应式 selectInput 我的第一次selectInput选择海洋公园中的区域类型 selectInput Zone label Marine Park Zonin