r - Shiny R:按输入变量过滤数据集
问题描述
我试图通过输入值过滤我的数据集。我创建了一个shiny::selectInput()
具有三个值的选项。然而,无论 Input 取什么值,它似乎都被 忽略dyplr::filter()
而不是被忽略dyplr::select()
。这里的区别在哪里,我能做些什么来实现我想要的,即我的数据集被选择的变量正确过滤shiny::selectInput()
library(shiny)
library(tidyverse)
library(reactable)
ui = fluidPage(
selectInput(inputId = "var", label = "Select", choices = c("height", "mass", "birth_year")),
reactableOutput(outputId = "table")
)
server = function(input, output, session){
output$table = renderReactable({
starwars %>%
select(input$var) %>%
filter(between(input$var, 50, 100)) %>%
reactable(data = .)
})
}
shinyApp(ui, server)
解决方案
整洁的评估见 Hadley Wickhams 声明
library(shiny)
library(tidyverse)
library(reactable)
ui = fluidPage(
selectInput(inputId = "var", label = "Select", choices = c("height", "mass", "birth_year")),
reactableOutput(outputId = "table")
)
server = function(input, output, session){
output$table = renderReactable({
starwars %>%
select(input$var) %>%
filter(between(.data[[input$var]], 50, 100)) %>%
reactable(data = .)
})
}
shinyApp(ui, server)
推荐阅读
- django - 通过使用 ACCOUNT_USERNAME_BLACKLIST (=[]) 并从 .txt 文件中获取数据来禁止某些用户
- ios - 如何更新应用商店现有应用的屏幕截图?
- fedex - Easypost - Updating 'OPTIONS' after creating Shipment and before buying label
- ruby - 使用 ruby gsub 替换 html 标签及其内容
- angular - ng serve 不超过 - 10% 构建模块 3/3 模块 0 活动
- json - 使用 JQ(在所有级别上)使用来自另一个 JSON 的值更新一个 JSON 文件值
- java - 具有 TARGET_CLASS 代理模式的 REQUEST_SCOPE bean 在注入其他组件(如 @Service 或 @Repository)时仅看到空参数
- python-3.x - 提取列表的元素并将元素放入另一个列表中,如果我想拥有第一对普通的第二对
- c++ - CodeBlocks 中 `Node::print()' 的多重定义
- visual-studio-code - VS 代码用户 tasks.json