R闪亮:基于checkboxgroupinput的子集数据

2024-05-23

我想根据复选框输入动态选择的列对数据进行子集。 有什么方法可以使我的输入文件在我的代码中全局可用 以便可以方便地进行进一步的操作。

以下是我的代码:

Server.R

    library(shiny)

    shinyServer(function(input, output) {

    dInput <- reactive({
       inFile <- input$file1
       if (is.null(inFile))
       return(NULL)

    finput <- read.csv(inFile$datapath, header=TRUE, sep=',',quote="'")
    fheaders <- names(finput) 
    return(fheaders)
    })


    output$choose_columns <- renderUI({
                       checkboxGroupInput("columns", "Choose columns", 
                       choices  = dInput(),
                       selected = NULL)
    })


  # to observe in environment which columns are selected
  observe({ print(input$columns) })


  output$data_table <- renderTable({
    # If missing input, return to avoid error later in function
    if(is.null(input$file1))
      return()

    # Get the data set
    dat <- get(input$file1)

    # Keep the selected columns
    dat <- dat[, input$columns, drop = FALSE]

    # Return first 20 rows
    head(dat, 20)
  })


})

ui.R

library(shiny)

# Define UI for application 
shinyUI(fluidPage(

  # Application title
  titlePanel("Subset a table"),


  sidebarLayout(
    sidebarPanel(
      fileInput('file1', 'Choose CSV File',
                accept=c('text/csv', 
                         'text/comma-separated-values,text/plain', 
                         '.csv')),

      uiOutput("choose_columns")
      ),

    mainPanel(
      tableOutput("data_table")
    )
  )
))

显示 tableOutput("data_table") 时出现以下错误

Error : invalid first argument    

我想你需要一个reactive在你的dInput并在过滤后的数据上再添加一项。然后您可以使用data_table()(与())进行进一步操作。下面的(单个文件)代码在我的机器上运行良好。我也删除了observe(无用)并改变了什么dInput返回(实际文件而不是列名)。

    library(shiny)

server <- shinyServer(function(input, output) {

  dInput <- reactive({
    inFile <- input$file1
    if (is.null(inFile))
      return(NULL)
    else
      return(read.csv(inFile$datapath, header=TRUE, sep=',',quote="'"))
  })


  output$choose_columns <- renderUI({
    cn <- colnames(dInput())
    selectInput("columns", "Choose columns", 
           choices  = cn,
           selected = cn,
           size=10,
           multiple=TRUE, selectize=FALSE)
  })

  data_table <- reactive({
    # If missing input, return to avoid error later in function
    if(is.null(input$file1))
      return(NULL)

    # Get the data set
    dat <- dInput()

    # Keep the selected columns
    dat[, input$columns, drop = FALSE]
  })

  output$data_table <- renderTable(data_table())

})


# Define UI for application 
ui <- shinyUI(fluidPage(

  # Application title
  titlePanel("Subset a table"),


  sidebarLayout(
    sidebarPanel(
      fileInput('file1', 'Choose CSV File',
                accept=c('text/csv', 
                         'text/comma-separated-values,text/plain', 
                         '.csv')),

      uiOutput("choose_columns")
    ),

    mainPanel(
      h3("Filtered table"),
      tableOutput("data_table")
    )
  )
))

shinyApp(ui, server)

那是你要的吗?

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

R闪亮:基于checkboxgroupinput的子集数据 的相关文章

随机推荐

  • 删除旧版本的 create-react-app

    我想使用创建一个新的反应应用程序create react app脚本 我仍然安装了一个不再受支持的全局版本 因此我卸载了全局版本并尝试创建一个新版本 如下所示 npx create react app myapp 然后我得到了一个没有使用模
  • Cron 作业中的 PyAutoGUI

    我正在尝试运行一个程序 该程序可以通过 crontab 使用 Selenium 和 PyAutoGUI 在 python 3 6 中自动拉出一些选项卡 这是当 cron 不运行该程序时我尝试运行的脚本 import pyautogui im
  • 如何阅读 CSS 中的 !important ? [复制]

    这个问题在这里已经有答案了 CSS属性属性是怎样的 important read Is it really important exclamation mark important Answer 从下面的答案来看 似乎很简单importan
  • 为什么 Jshint 在此 if 语句中说“变量已定义”?

    我有这个代码 if something is true var someVar true else var someVar false JsHint 表示在 else 语句部分 someVar 已被定义 这是为什么 我该如何解决 Thank
  • 当路径的点超出视野时,Android Canvas 不会绘制路径

    我在绘制路径时遇到了 Android Canvas 的一些问题 我的情况是 我有一个相对布局工作 如地图视图 不使用 google api 或类似的东西 我必须在该视图上绘制一条路径 canvas drawPath polyPath bor
  • 覆盖 Android 中的电源按钮

    我正在开发一个应用程序 其中我需要在按下电源按钮时执行一个操作 但不幸的是我无法处理按下电源按钮时的操作 我尝试使用 onKeyDown 和dispatchKeyEvent 方法 但似乎没有任何效果 任何人都可以建议我解决这个问题的任何其他
  • 是否可以直接获取 Puppeteer 音频源和/或输入音频到 Puppeteer?

    我想将 WAV 或 MP3 输入到 puppeteer 作为麦克风 但是在无头模式下应用程序被静音 所以我想知道是否有一种方法可以直接将输入输入到浏览器中 我还想知道是否可以在无头状态下从浏览器获取音频源 和 或录制音频并将其放在文件夹中
  • 限制 Imagemagick 使用的空间和内存

    我在 Rails 应用程序上使用 Imagemagick 使用 rmagick 但我的服务器 Ubuntu 不是很大 当我启动转换进程时 Imagemagick 占据了我的服务器 30GB HDD 的所有位置 内存 我想限制内存和 tmp
  • 将 UTC 格式的 QDateTime 转换为本地系统时间

    我从这样的字符串构造 QDateTime QDateTime date QDateTime fromString 2010 10 25T10 28 58 570Z yyyy MM ddTHH mm ss zzzZ 我知道date是 UTC
  • 从 RSpec 迁移到 Minitest::Spec?

    是否有可遵循的策略或一组步骤来从 RSpec 2 迁移到MiniTest Spec 我想考虑为一个大型项目执行此操作 但我不知道从哪里开始 我已经很久没有使用 MiniTest Spec 了 我正在自己移植一些测试 但以下是我从 RSpec
  • IIS Express 捕获所有子域 url

    我正在寻找 IIS Express 中子域包罗万象 url 的解决方案 基本上 我环顾四周并找到了如何在 IIS Express 中创建域 子域 它很容易找到 我所要做的就是在 IIS Express 的 ApplicationHost c
  • 如何计算CLLocationDistance的中心坐标

    我想计算我的位置和一些注释之间的中心点 到目前为止我已经这样做了 CLLocation myLoc self locMgr location MKPointAnnotation middleAnnotation locationV anno
  • 是否可以对 UILabel 的文本颜色变化进行动画处理? [复制]

    这个问题在这里已经有答案了 UIView animateWithDuration 5 animations myLabel textColor UIColor redColor 标签文本颜色立即改变 Try this UIView tran
  • 如何强制jar使用(或jar运行的jvm)utf-8而不是系统的默认编码

    我的Windows默认编码是GBK 而我的Eclipse完全是utf 8编码 因此 在我的 Eclipse 中运行良好的应用程序崩溃了 因为导出为 jar 文件时这些单词变得不可读 我必须在 bat 文件中写入以下行才能运行该应用程序 st
  • 使用 WebClient C# 添加请求标头

    我有以下代码 用于将网页下载到字节数组中 然后使用 Response Write 打印它 WebClient client new WebClient byte data client DownloadData requestUri Ini
  • 如何将工作表和范围作为变量传递?

    我想在子例程之间传递工作表的名称和范围 以下抛出 下标超出范围 错误 Sub This x Sheet1 y D3 MsgBox x Range y Value End Sub This is 我的项目资源管理器的示例 https i st
  • NHibernate 和 DateTime 映射的问题

    我在查询时遇到问题 我在给定的范围内选择记录 时间跨度 我从中选择的列的类型为日期 我已经映射了这个 列作为 DateTime 属性 查询可以工作 但速度很慢 生成的查询如下所示 由NH分析器 http nhprof com select
  • 致命错误:libavcodec/avcodec.h 没有这样的文件或目录编译终止

    我正在尝试使用 gcc 执行tutorial01 c 并且 gcc 和tutorial01 c 以及 libavcodec 和 libavformat 及其关联文件位于同一文件夹中 它给了我这个错误 致命错误 libavcodec avco
  • 在正确的集合中创建索引

    我用 Index unique true 注释文档 如下所示 public class ADocumentWithUniqueIndex private static final long serialVersionUID 1L Index
  • R闪亮:基于checkboxgroupinput的子集数据

    我想根据复选框输入动态选择的列对数据进行子集 有什么方法可以使我的输入文件在我的代码中全局可用 以便可以方便地进行进一步的操作 以下是我的代码 Server R library shiny shinyServer function inpu