在 Reshape Cast() 中使用来自 Shiny Widget 的输入

2024-04-26

我试图在我闪亮的网络应用程序中创建一种数据透视表,用户可以在其中选择他们想要相互转换的变量。我发现的问题是,当我尝试将强制转换与“输入$列”一起使用时,我得到以下信息:错误:强制转换公式包含在熔融数据中找不到的变量:输入$列。 input$columns 应该是我的数据集中找到的三个列名称之一,所以我不确定问题可能是什么。我附加了代码的简化版本以尝试隔离问题。

UI

 library(shiny)

    shinyUI(fluidPage(

     titlePanel("Reactivity"),


     sidebarLayout(
       sidebarPanel(
       textInput("caption", "Caption:", "Column Name:"),

       selectInput("columns", "Choose a dataset:", 
                  choices = c("Publisher", "Region", "Representative")),

       numericInput("obs", "Number of observations to view:", 10)
      ),


     mainPanel(
      h3(textOutput("caption")), 

      verbatimTextOutput("summary"), 

      dataTableOutput('view')
     )
    )
    ))

Server

library(shiny)
library(datasets)

shinyServer(function(input, output) {

  datasetInput <- reactive({
    switch(input$columns,
           "Publisher" = Publisher,
           "Region" = Region,
           "Representative" = Representative)
  })

  output$caption <- renderText({
    input$caption
  })

  output$summary <- renderPrint({
    dataset <- datasetInput()
    summary(dataset)
  })

  output$view <- renderDataTable({
    test <- input$columns
    m.book.sales <- melt(book.sales)
    cast(m.book.sales, test ~ variable, sum)
  })
})

和数据集

> head(book.sales)
  Representative Region      Month Publisher    Subject Sales Margin Quantity
1            Raj      S 1997-01-01      SAGE Management 135.0  63.45        9
2            Raj      S 1997-01-01 Routledge Statistics 120.0  48.00        6
3            Raj      S 1997-01-01   Penguin  Economics  54.0  22.68        4
4            Raj      S 1997-01-01 Routledge    Fiction 234.0 128.70        9
5           Soni      S 1997-01-01   Penguin   Politics  54.0  22.68        4
6           Soni      S 1997-01-01      SAGE   Politics 185.4 100.12       12

您需要传递一个有效的公式。test是一个变量,不能在公式调用中使用。您可以使用构建论坛paste并使用as.formula转换:

 output$view <- renderDataTable({
   test <- input$columns
   m.book.sales <- melt(book.sales)
   myFormula <- as.formula(paste0(test, " ~ variable"))
   cast(m.book.sales, myFormula, sum)
 })
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Reshape Cast() 中使用来自 Shiny Widget 的输入 的相关文章

  • R:邻接表到邻接矩阵

    Bonjour 我想将邻接列表 3 列 转换为邻接矩阵 在这个论坛中 我找到了多个有关如何将边列表转换为邻接矩阵的示例 我成功地为两列列表做到了这一点 我已经尝试了在网上可以找到的所有解决方案 但似乎我错过了一小步 我尝试过的 我的变量是用
  • 在多面图中用 N 注释 x 轴

    我正在尝试生成一些按治疗条件和访问次数细分的数字结果的箱线图 每个框中的观察次数都放在图下方 并且也标记了访问次数 这里有一些虚假数据可以用来说明 我举了两个我尝试过但不太有效的例子 library ggplot2 library plyr
  • 使 matplotlib 图形默认看起来像 R?

    Is there a way to make matplotlib behave identically to R or almost like R in terms of plotting defaults For example R t
  • 自动将变量名称添加到列表的元素[重复]

    这个问题在这里已经有答案了 我有一个模型列表 为了使代码更易于维护 因此可以方便地添加和删除模型 我希望有一个地方来存储它们及其名称 为此 我必须解决以下命名问题 上游 我生成模型的方式比以下方式效率低 如果是这样压缩的 我会assign他
  • 使用 plyr daply 将数据帧转换为矩阵

    我正在尝试使用daply函数在plyr包 但我无法让它正确输出 尽管组成矩阵的变量是数字 但矩阵的元素是列表 而不是变量本身 例如 以下是一小部分数据 Month Vehicle Samples 1 Oct 10 31057 256 2 O
  • 用闪亮的 R 设计 DT 中的展开行按钮

    我正在尝试设计 DT 中可用的展开行按钮的样式 样式可用here https datatables net examples api row details html 我用于创建数据表的代码是 library DT datatable cb
  • R 中的 Mapdeck 包 - add_grid 似乎未渲染任何内容

    Problem The add gridR 中的函数mapdeck包很精彩 然而 遵循CRAN 文档 https cran r project org web packages mapdeck mapdeck pdf 我似乎无法获得任何数据
  • 如何使用 tidyr 将向量中字符串中的每个字符分隔到一列中

    我想将向量中的每个字符串分成列 但我做不到 library tidyr library dplyr df lt data frame x c abe bas dds eer df gt separate x c A B C sep 1 我想
  • 计算数据框中每一行的 R 条件运行总和

    我想创建一个等于 data Rating 的运行总和的列 假设第 3 列和第 4 列中有两个条件成立 特别是 data Year 换句话说 这应该计算直到上一年为止每个 id 的评分累积总和 它应该对数据框中的每一行 大约 50 000 行
  • 访问动态创建的 Shiny 模块的返回值

    我正在寻找构建一个闪亮的应用程序 它动态创建返回简单表单的模块 通过 callmodule 我有两个未解决的问题 希望得到一些指导 首先 当向用户提供多个表单 通过单击按钮 时 先前呈现的表单上的值将恢复为默认值 如何停止这种行为 以便值保
  • dplyr 总结小计

    Excel 中数据透视表的一大优点是它们会自动提供小计 首先 我想知道 dplyr 中是否已经创建了任何可以实现此目的的东西 如果没有 实现它的最简单方法是什么 在下面的示例中 我按气缸和化油器的数量显示了平均排量 对于每组气缸 4 6 8
  • 如何在r中进行左连接[重复]

    这个问题在这里已经有答案了 我有两个数据集一和二 数据集一 a b c 111 a 1 112 b 2 113 c 3 114 d 4 115 e 5 数据集二 e d g 222 ss 11 111 ff 22 113 ww 33 114
  • 通过 :: 调用包中的函数是一个好习惯吗

    我正在编写一些 R 函数 这些函数在其他包中使用一些有用的函数 例如stringr and base64enc 不打电话好不好library or require 首先加载这些包但要使用 直接引用我需要的功能 比如stringr str m
  • 如何正确调整 R 中 ggplot 的各个方面的大小,包括图例?

    我在 ggplot2 中制作散点图 然后使用 ggsave 导出特定宽度和高度的 PDF 但是 图形图例永远不会使用 ggsave 正确调整大小 其边框不会留在绘图内 是否有另一种方法可以同时调整 ggplot 所有部分的大小以便于导出 我
  • 使用 SP 包中的 SpatialPoints() 转换坐标参考系 (CRS) 以创建空间数据框

    Issue 我有一个形状文件我已将其导入到 R 中 并为正在进行的分析选择了感兴趣的变量 我的最终目标是插值点数据 海豚 ID 获取海面温度 SST 堆栈中每个单独的光栅文件的值70 栅格来自名为 ncin SST 的对象 该对象是使用函数
  • R 未获取用户库

    我有一个带 R 3 6 0 的 Fedora 30 系统 用户库设置在Renviron就像这个 R LIBS USER R LIBS USER R x86 64 redhat linux gnu library 3 6 事实上 它出现在交互
  • 通过 rpy 将 SPSS 文件(.sav)导入 pandas 时如何保留标签?

    我正在寻找使用 SPSS 文件 sav pandas 在没有 SPSS 程序的情况下 典型文件转换为 csv 后的样子如下 在调查前两行的含义时 我不知道 SPSS 似乎第一行包含Labels 而第二行包含VarNames 当我将文件带入
  • R(或替代方案?)中的高(或非常高)阶多项式回归

    我想对 R 中的一组数据进行 非常 高阶回归拟合 但是poly 函数的阶数极限为 25 对于此应用程序 我需要的订单范围为 100 到 120 model lt lm noisy y poly q 50 Error in poly q 50
  • R 在读取文件时添加额外的数字

    我一直在尝试读取一个包含日期字段和数字字段的文件 我的数据在 Excel 工作表中 如下所示 Date X 1 25 2008 0 0023456 12 23 2008 0 001987 当我在 R 中使用readxl read xlsx函
  • 确定 R 中的组是否重复某个值

    我有一个包含许多列和行的数据 我想通过创建新的逻辑变量来确定某个组的值是否重复 相同 所以我的数据如下所示 v0 lt c 1 2 3 4 5 6 7 8 9 v1 lt c a b a c e c b b e v2 lt c R NA R

随机推荐

  • 提取给定节点的所有父节点

    我正在尝试使用以下命令提取每个给定 GO Id 节点 的所有父级EBI RDF sparql 端点 https www ebi ac uk rdf services sparql 我是根据this https stackoverflow c
  • WCF 反序列化的对象属性的空值

    我有一个 WCF Web 服务used工作顺利 它在某处停了下来 我不知道为什么 代码和界面从未改变 web config 也没有改变 至少与 Web 服务部分无关 我有一堂课 DataContract public class QuizS
  • 更改 Qt 中的标签

    我正在尝试制作一个由按钮和标签组成的简单程序 当按下按钮时 它应该将标签文本更改为程序内 QString 变量中的任何内容 到目前为止 这是我的代码 这是我的 widget h 文件 class Widget public QWidget
  • 使用取消嵌套函数插入 - 跳过序列列中的数字

    我正在尝试在插入中使用 unnest 功能 这样做时 序列号会为每个插入跳过一个数字 请帮我解决这个问题 mydb d tab1 Table public tab1 Column Type Modifiers id integer not
  • 我们可以在一个 Android Studio 项目中拥有多个应用程序吗?

    我正在使用 Android Studio 来开发 Android 应用程序 但我听说在 Android Studio 中 最好在一个应用程序中只包含一个应用程序 每个应用程序一个项目 如果这是正确的 那么为许多项目打开许多框架将非常浪费 但
  • 为什么 are.filter(String) 也返回数字? [复制]

    这个问题在这里已经有答案了 我正在做一些小练习来保持我对 js 怪癖的了解 我尝试编写一些简单的过滤器 它返回一个新数组 其中包含某些元素 例如字符串 数字 ecc 当给定数组中也有数字时 我对 arr filter String 产生的结
  • 为什么 SQL 标准允许重复行?

    中的一个核心规则 http en wikipedia org wiki Codd 27s 12 rules对于关系模型来说 元组 行 所需的唯一性是 数据库中的每个单独的标量值must通过指定包含表的名称 包含列的名称和首要的关键包含行的值
  • 实现导航侧栏加载

    我正在尝试在左侧实现一个带有链接列表的导航侧边栏 a 这样 单击每个链接时 对应的 div 将被加载到右侧 当我有一个函数onclick财产在 a 它在浏览器控制台上给我错误 未捕获的引用错误 callFunction 未定义 这是我的实现
  • Git 工作流程和 Gerrit

    我正在尝试使用 Gerrit 实现 git flow 类型的工作流程 但我似乎无法弄清楚最后一块拼图 我的问题有两个先决条件 Gerrit 只会对一个分支执行合并 我不允许将合并提交推送到 Gerrit 更改获得批准后 合并必须由 Gerr
  • 将字符串“true”/“false”转换为布尔值[重复]

    这个问题在这里已经有答案了 我有一个 JavaScript 字符串 其中包含 true or false 我怎样才能将它转换为布尔值而不使用eval功能 var val string true 不区分大小写 const val string
  • 如何升级appium的chromedriver版本?

    尝试在 Chrome 版本 65 上运行 Appium 脚本时出现以下错误 selenium common exceptions WebDriverException 消息 未知错误 调用函数结果缺少 值 会话信息 chrome 65 0
  • 为什么viewDidLoad在swift中完成后没有显示数据? [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 当我的应用程序启动完成后 UITableViewCell 上应该显示数据 但是 那里什么也没有 所以重新启动应用程序后
  • Eclemma 说 4 个分支中有 1 个未被覆盖,但它是哪个分支?

    有没有一种简单的方法可以告诉我缺少哪个分支 IE 我有一些这样的代码 if x y do stuff 在突出显示的覆盖范围中 Eclipse 中有一个黄点 上面写着 4 个分支中的 1 个缺失 但我想知道哪个分支丢失了 有一个非常简单的解决
  • 每当我尝试使用 Next.js 运行“npm run dev”时,都找不到错误模块

    每当我跑步时npm run dev我收到这个错误 我尝试过删除node modules并使用重新安装它npm install但这没有用 然后我尝试删除两者node modules and package lock json并重新安装它们 这
  • nix 构建守护进程是否保留构建日志?

    有时候跑步的时候nix build and nixos rebuild我发现了易于修复的问题 例如已弃用的警告或冗余导入 并且我认为 有趣 我也许能够在空闲时间解决这个问题 我知道我可以将构建日志重定向到一个文件 但我总是忘记这样做 直到再
  • 如何熟悉代码签名问题?

    每次当我处理代码签名和配置文件时 都会发生奇怪的事情 大多数时候我会收到错误 找不到代码签名身份 如果没有 则会出现 找不到匹配的配置文件 和 没有具有有效签名身份的配置文件 之类的错误 尽管我非常熟悉代码签名和配置背后的理论和事物 但我每
  • 结构体的指针运算

    给定一个包含 1 个 double 和 3 个 int 变量 总共 4 个变量 的结构体定义 如果 p 是指向该结构体的指针 其值为 0x1000 那么 p 的值为多少 这不是作业问题 所以不用担心 我只是想准备考试 但我无法解决这个练习题
  • 使用蓝牙调用应用程序

    我们可以使用蓝牙从一个 Android 设备中调用另一台 Android 设备中的应用程序吗 如果可以的话流程是什么 不 您不能从一个 Android 设备调用另一个应用程序 除非两个应用程序都使用蓝牙权限并进行配置
  • 检测文本中哪个单词被点击

    我正在构建一个 JS 脚本 该脚本在某个时刻能够在给定页面上允许用户单击任何单词并将该单词存储在变量中 我有一个非常丑陋的解决方案 并且涉及使用 jQuery 进行类解析 我首先解析整个 html 将所有内容拆分到每个空间上 并重新附加包含
  • 在 Reshape Cast() 中使用来自 Shiny Widget 的输入

    我试图在我闪亮的网络应用程序中创建一种数据透视表 用户可以在其中选择他们想要相互转换的变量 我发现的问题是 当我尝试将强制转换与 输入 列 一起使用时 我得到以下信息 错误 强制转换公式包含在熔融数据中找不到的变量 输入 列 input c