在 R闪亮应用程序中通过闪亮表输入数据

2023-12-21

我想构建一个闪亮的应用程序,它获取矩阵数据作为输入,并根据对其进行一些操作返回一个表作为输出。通过搜索,我发现 ShinyTable 包可能很有用。我尝试了下面闪亮的代码,但结果应用程序显示为灰色并且没有结果。

library(shinyTable)
shiny::runApp(list(
  ui=pageWithSidebar(
    headerPanel('Simple matrixInput')
    ,
    sidebarPanel(
      htable("tbl")
      ,
      submitButton("OK")
    )
    ,
    mainPanel(

      tableOutput(outputId = 'table.output')
    ))
  ,
  server=function(input, output){
    output$table.output <- renderTable({
      input$tbl^2
    }
    , sanitize.text.function = function(x) x 
    )
  }
))

任何想法?


The shinyTable包有了很大的改进rhandsontable package https://github.com/jrowen/rhandsontable.

这是一个最小的函数,它接受一个数据框并运行一个闪亮的应用程序,允许编辑它并将其保存在rds file:

library(rhandsontable)
library(shiny)

editTable <- function(DF, outdir=getwd(), outfilename="table"){
  ui <- shinyUI(fluidPage(

    titlePanel("Edit and save a table"),
    sidebarLayout(
      sidebarPanel(
        helpText("Shiny app based on an example given in the rhandsontable package.", 
                 "Right-click on the table to delete/insert rows.", 
                 "Double-click on a cell to edit"),

        wellPanel(
          h3("Table options"),
          radioButtons("useType", "Use Data Types", c("TRUE", "FALSE"))
        ),
        br(), 

        wellPanel(
          h3("Save"), 
          actionButton("save", "Save table")
        )        

      ),

      mainPanel(

        rHandsontableOutput("hot")

      )
    )
  ))

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

    values <- reactiveValues()

    ## Handsontable
    observe({
      if (!is.null(input$hot)) {
        DF = hot_to_r(input$hot)
      } else {
        if (is.null(values[["DF"]]))
          DF <- DF
        else
          DF <- values[["DF"]]
      }
      values[["DF"]] <- DF
    })

    output$hot <- renderRHandsontable({
      DF <- values[["DF"]]
      if (!is.null(DF))
        rhandsontable(DF, useTypes = as.logical(input$useType), stretchH = "all")
    })

    ## Save 
    observeEvent(input$save, {
      finalDF <- isolate(values[["DF"]])
      saveRDS(finalDF, file=file.path(outdir, sprintf("%s.rds", outfilename)))
    })

  })

  ## run app 
  runApp(list(ui=ui, server=server))
  return(invisible())
}

例如,采用以下数据框:

> ( DF <- data.frame(Value = 1:10, Status = TRUE, Name = LETTERS[1:10],
                    Date = seq(from = Sys.Date(), by = "days", length.out = 10),
                    stringsAsFactors = FALSE) )
   Value Status Name       Date
1      1   TRUE    A 2016-08-15
2      2   TRUE    B 2016-08-16
3      3   TRUE    C 2016-08-17
4      4   TRUE    D 2016-08-18
5      5   TRUE    E 2016-08-19
6      6   TRUE    F 2016-08-20
7      7   TRUE    G 2016-08-21
8      8   TRUE    H 2016-08-22
9      9   TRUE    I 2016-08-23
10    10   TRUE    J 2016-08-24

运行应用程序并享受乐趣(尤其是日历^^):

编辑动手操作:

单击Save按钮。它将表保存在文件中table.rds。然后在R中读取它:

> readRDS("table.rds")
   Value Status    Name       Date
1   1000  FALSE Mahmoud 2016-01-01
2   2000  FALSE       B 2016-08-16
3      3  FALSE       C 2016-08-17
4      4   TRUE       D 2016-08-18
5      5   TRUE       E 2016-08-19
6      6   TRUE       F 2016-08-20
7      7   TRUE       G 2016-08-21
8      8   TRUE       H 2016-08-22
9      9   TRUE       I 2016-08-23
10    10   TRUE       J 2016-08-24
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 R闪亮应用程序中通过闪亮表输入数据 的相关文章

  • 保存/加载 data.table 的最快方法

    我想做的实际上是使用最快的可用方法来存储data table以便进一步处理 大致如下 从 CSV RDS 读取原始数据 将其转换为data table 将其保存为针对重新读取而优化的格式 RDS 似乎不适用于data table 是对的吗
  • glmnet R 包中的 cv.glmnet 出现“drop(y %*% rep(1, nc)) 错误”错误

    我有一个返回 cv glmnet 模型的 auc 值的函数 尽管不是大多数时间 但在执行 cv glmnet 函数时 它经常返回以下错误 下降误差 y 代表 1 NC 在为函数 drop 选择方法时评估参数 x 时出错 y 中的错误 rep
  • 如何找到对象的创建位置?

    我目前正在努力改进对其他脚本有不同调用的代码 我想知道在哪里创建对象 对于其中一些人来说 只需使用文本编辑器的搜索选项即可 只要看看是否obj lt or obj 有什么结果 但这不适用于使用assign功能 在加载的脚本中创建的也不是 T
  • R 中具有 NA 值的聚合栅格

    我在 R 中有一个分辨率为 1 公里的栅格 其 NA 值分布广泛 但位置不规则 即 包含数据的单元格不连续 并且 NA 值分散 我正在尝试使用用户定义的平均圆角函数 包括在下面 以 5 公里分辨率 因子 5 聚合此栅格 使用 raster
  • 匹配向量内的向量

    I have vec1 lt c 0 0 0 1 1 0 1 1 1 0 0 1 vec2 lt c 1 1 我预计 magicFUN x vec1 y vec2 1 4 7 8 这意味着我想要一个完整向量在另一个向量内的位置 match
  • 如何规划庭院灯最有效的路线

    我正在尝试挂一些庭院灯 基于另一个问题 https cs stackexchange com questions 80134 christmas light route efficiency我问 我意识到我需要一种算法来解决路由检查问题 h
  • 不同的分位数:箱线图与小提琴图

    require ggplot2 require cowplot d iris ggplot2 ggplot d aes factor 0 Sepal Length geom violin fill black alpha 0 2 draw
  • 在 RStudio 控制台中显示西里尔字母

    我在 Rstudio 控制台中显示俄语字符时遇到问题 我使用 readxl 包加载带有俄语的 Excel 文件 西里尔字母在数据框中正确显示 但是 如果我运行一个输出包含变量名称的函数 RStudio 控制台将显示符号而不是正确的西里尔字符
  • 如何编写一个也接受字符输入的 NES 函数?

    我正在开发一个将字符串作为函数参数的 R 包 现在我想使用非标准评估来允许非字符串输入 另外 为了保持向后兼容性 我想保留函数接受字符串的可能性 哈德利给出了example https cran r project org web pack
  • 为闪亮的应用程序创建桌面图标

    当我在基本 R 提示中提供以下代码时 我会在浏览器中打开一个闪亮的应用程序 shiny runApp C Myapp 我使用 Windows 7 我试图创建一个桌面图标 以避免我的客户每次想要使用该应用程序时都键入上述代码 我创建了一个桌面
  • 使用 dplyr 和 ggplot 绘制包括负值的多面水平发散堆积条形图

    我希望这个例子能够让人清楚 我想要堆叠条形 其中中间条形跨越 0 因为它代表中性值 这与李克特量表一起使用 为了重现性 我使用钻石数据集 以下示例与我的用例足够接近 并演示了我很难以正确的顺序获取 好 或 正 数据 因此中性最接近 0 这是
  • 没有垂直线的直方图

    当我创建直方图时 它看起来很像这样 set seed 1 x lt 1 100 y lt x rnorm 50 y round y hist y Is there a way to make a histogram look a bit l
  • R Plotly 禁用图例单击和图例双击

    我想使用 R Plotly 从服务器端禁用绘图图例选择 我们看here https community plot ly t disable legend click functionality hiding traces 1345 2可以使
  • 如何在shell脚本中运行R代码?

    我有一个 R 文件 myfile R 我想使用 shell 脚本来运行它 我怎样才能做到这一点 我试过这个 bin bash Rscript myfile R 但它给了我这个错误 Rscript 找不到命令 我也尝试过这个 bin bash
  • 将一个大的 xlsx 文件导入到 R 中?

    我想知道是否有人知道从 大 xlsx 文件 20Mb 导入数据的方法 我尝试使用 xlsx 和 XLConnect 库 不幸的是 两者都使用 rJava 我总是收到相同的错误 gt library XLConnect gt wb lt lo
  • 如何对plot_ly()图表进行分面?

    Using ggplot2 and plotly制作交互式散点图facet wrap library ggplot2 library plotly g lt iris gt ggplot aes x Sepal Length y Sepal
  • 在 R 中高效加载稀疏矩阵

    我在将数据有效加载到 R 中的稀疏矩阵格式时遇到问题 这是我当前策略的 不完整 示例 library Matrix a1 Matrix 0 5000 100000 sparse T for i in 1 5000 a1 i idxOfCol
  • 生成与现有变量具有预定义相关性的二进制变量

    对于模拟研究 我想生成一组随机变量 连续变量和二元变量 这些变量与已经存在的变量具有预定义的关联binary变量 此处表示为x 对于这篇文章 假设x是按照下面的代码生成的 但请记住 在现实生活中 x是一个已经存在的变量 set seed 1
  • 动态显示仪表板页面

    我有一个实用的闪亮应用程序 它使用shinydashboard包裹 新功能需要特定于用户的行为 例如 针对不同的用户名使用不同的数据集 因此我打算 显示登录表单 验证凭据并设置反应值LoggedIn to true如果成功的话 显示实际情况
  • 用于检查和批量线性模型的数据表选项

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

随机推荐

  • 在C语言中如何读取scanf直到EOF?

    我有这个 但是一旦它到达假定的 EOF 它就会再次重复循环和 scanf int main void char words 16 while scanf 15s words 1 printf s n words return 0 Try w
  • 在 MVC Web 应用程序上实施 FCM(Firebase 云消息传递)

    我正在开发一个 MVC Web 应用程序 该应用程序将为人们提供一个销售产品的平台 并允许人们搜索查看这些产品 我不知道 Firebase FCM 可以提供哪些功能 所以我的两个问题是 是否可以将 FCM 添加到 MVC 应用程序 以便在事
  • Android应用程序实时录制声音并识别频率

    我需要开发一个应用程序来使用手机麦克风实时记录频率 然后显示它们 以文本形式 我在这里发布我的代码 FFT 和复数类已从http introcs cs princeton edu java 97data FFT java html http
  • 为什么使用archiver.file模块压缩文件时出现“队列关闭错误”

    我正在尝试使用 archiver 在 Node js 中以 zip 形式下载多个文件 这是我的代码 exports downloadAllFiles function req res var archive archiver zip gzi
  • 使用 ADO.NET 时如何最好地显示进度信息?

    我想在执行可能很长的数据库操作时向用户显示详细的进度信息 具体来说 当插入 更新可能约为数百 KB 或 MB 的数据时 目前 我使用内存中的 DataTables 和 DataRows 然后通过 TableAdapter Update 调用
  • Unix 上的文件修改时间(秒)

    在Unix上 有没有命令可以显示文件的修改时间 精确到秒 在 Linux 上 这可以通过 stat c y 轻松完成 它返回类似的内容2009 11 27 11 36 06 000000000 0100 我在 Unix 上没有找到类似的东西
  • 为什么 Perl 在释放大数组时不进行垃圾回收内存?

    我知道 Perl 使用基于引用计数的垃圾收集 当变量超出范围时 引用计数会递减 如果 REFcount 变为 0 则会取消分配内存 但是 当我跟踪如下所示的一个小示例时 我无法发现取消分配的情况 print start sub func m
  • startIntentSenderForResult 已弃用 Android

    代码片段 private fun requestHint val hintRequest HintRequest Builder setPhoneNumberIdentifierSupported true build val creden
  • 从 Google 服务帐户模拟 Azure 服务主体

    我想使用 Google 服务帐户 JWT 令牌获取 Azure 服务主体 SP 的临时凭据 这是从 GKE 工作负载调用 Azure API 所必需的 而无需在 GKE 中存储长期 SP 凭据 这种联合对于 GCP gt Azure 是否可
  • 调用 CLR 存储过程

    简而言之 在哪里可以找到 C VB 客户端示例代码 该代码使用一些 argumnet 如 sqlxml 数据 调用 CLR 存储过程并接收数据读取器或其他形式的结果 另外 如何定期接收通过 SQlContext Pipe Send 方法发送
  • 为什么 Seq.newBuilder 返回 ListBuffer?

    看着 val sb Seq newBuilder Int println sb getClass getName sb 1 sb 2 val s sb result println s getClass getName 输出是 scala
  • 分布式分析系统数据一致性的架构设计

    我正在重构一个将进行大量计算的分析系统 并且我需要一些关于可能的架构设计的想法来解决我面临的数据一致性问题 当前架构 我有一个基于队列的系统 其中不同的请求应用程序创建最终由工作人员使用的消息 Each 请求应用程序 将大型计算分解为较小的
  • Parse.com 失败:ReferenceError

    我正在尝试在 Cloud Code 中运行以下解析后台作业 Parse Cloud job sendAlert function sendAlert Parse Push send data content available 1 succ
  • C 中的 FILE 指针如何工作?

    如果我们写 in main FILE p fopen filename anymode 我的问题是 什么是p指点 文件指针p指向由 C 库处理的结构 该结构在给定的打开模式下管理指定文件的 I O 功能 你无法先验地判断它指向的是静态分配的
  • 从 Twig 模板名称解析本地文件路径

    转换该字符串的编程步骤是什么 AcmeProjectBundle home html twig 进入这个 path Symfony src Acme ProjectBundle Resources views home html twig
  • Google 地图地理编码不返回国家/地区

    我需要一个可靠的方法来获取city state and country place id从纬度和经度 我正在尝试使用 Google 地图地理编码 但问题是某些坐标不会返回administrative level 1 州 或国家 地区 以这个
  • sendRedirect 还是 request Dispatch 效率更高?

    SendRedirect 或 requestdispatch 哪个应该更优选 哪个更有效 它们做两件截然不同的事情 所以你不能只根据效率来决定 发送重定向会将浏览器发送到不同的 URL 该 URL 对浏览器可见 你可能想要也可能不想要 例如
  • CSS 样式冲突预防和命名空间技术

    假设您正在构建一个名为 Awesome Widget 的概念性小部件 并且您希望完全保护它不与周围元素或作为小部件内的内容驻留的子元素发生冲突 我们不想要什么 div ul li 解决方案 1 CSS 子组合器 使用 CSS 子级组合器选择
  • ggplot2:将 geom_bar 基线设置为 1 而不是零

    我正在尝试制作比率的条形图 使用 geom bar 并希望将 x 轴设置为 y 1 因此 比率 1 将位于轴上方 我可以用 geom point 做类似的事情 ggplot data aes x ratio y reorder place
  • 在 R闪亮应用程序中通过闪亮表输入数据

    我想构建一个闪亮的应用程序 它获取矩阵数据作为输入 并根据对其进行一些操作返回一个表作为输出 通过搜索 我发现 ShinyTable 包可能很有用 我尝试了下面闪亮的代码 但结果应用程序显示为灰色并且没有结果 library shinyTa