Shiny 中的动态 ggvis 对象

2023-11-29

我正在尝试向 Shiny 应用程序添加动态 ggvis 绘图。首先,用户选择一个维度,然后从该维度添加项目。

对于 global.R 和示例数据,请参阅https://gist.github.com/tts/a41c8581b9d77f131b31

服务器.R:

shinyServer(function(input, output, session) {


  # Render a selectize drop-down selection box 
  output$items <- renderUI({

    selectizeInput(
      inputId = 'items', 
      label = 'Select max 4. Click to delete',
      multiple = TRUE,
      choices = aalto_all[ ,names(aalto_all) %in% input$dim],
      options = list(maxItems = 4, placeholder = 'Start typing')
    )

  })


  selected <- reactive({

    if (is.null(input$items)) {
      return(aalto_all)
    }
    df <- aalto_all[aalto_all[[input$dim]] %in% input$items, ]
    df$keys <-seq(1, nrow(df))
    df

  })


  selected %>% 
    ggvis(~WoS, ~NrOfAuthors, fill = ~School, key := ~keys) %>%
    layer_points() %>%
    add_tooltip(show_title) %>%
    bind_shiny("gv")


  show_title <- function(x=NULL) {
    if(is.null(x)) return(NULL)
    key <- x["keys"][[1]]
    selected()$Title20[key]
  }  


})

ui.R:

shinyUI(fluidPage(

  titlePanel('Some (alt)metric data for articles published since 2010'),

  sidebarLayout(
    sidebarPanel(
      selectInput(
        inputId = "dim", 
        label = "Dimension", 
        choices = dimensions,
        selected = c("Title")),
      uiOutput("items")
      ),


    mainPanel(

      tabsetPanel(
        # I'll add more tabs
        tabPanel("Plot with ggvis", ggvisOutput("gv"))
      )
    )
  )
))

还行吧

  1. 一开始,当没有选择任何项目时,所有数据都会被绘制出来。这是一个 hack,因为如果没有提供数据, ggvis 对象会抛出错误。
  2. 当删除所有选定的项目(与 1 相同)并选择另一个维度时

但是当我尝试切换到另一个维度而不先删除项目时,我得到以下信息:

Error in `$<-.data.frame`(`*tmp*`, "keys", value = c(1L, 0L)) : 
replacement has 2 rows, data has 0

我知道 ggvis 是非常新的并且在不断发展,但我怀疑闪亮的反应值中只是有一些不同步的东西。如果有人能指出我做错了什么,非常感谢!


导致该错误的原因是您的 data.frame 具有零行并产生了结果1:0。 你可以改变你的selected功能:

 selected <- reactive({
    if (is.null(input$items)) {
      return(aalto_all)
    }
    df <- aalto_all[aalto_all[[input$dim]] %in% input$items, ]
    df$keys <-seq_along(df[,1])
    if(nrow(df) == 0){
      return(aalto_all)
    }
    df
  })
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Shiny 中的动态 ggvis 对象 的相关文章

  • matplotlib 中的 R 风格数据轴缓冲区

    R 绘图自动设置 x 和 y 限制 以在数据和轴之间留出一些空间 我想知道 matplotlib 是否有办法自动执行相同的操作 如果没有 是否有一个好的公式或 经验法则 来说明 R 如何设置其轴限制 在 matplotlib 中 您可以通过
  • 将不同的 grViz 组合成一个图

    我想结合不同的DiagrammeR绘制成一个图形 生成的图如下例所示 library DiagrammeR pDia lt grViz digraph boxes and circles a graph statement graph ov
  • 改进R中从google获取股票新闻数据的功能

    我已经编写了一个函数来从 Google 获取和解析给定股票代码的新闻数据 但我确信有一些方法可以改进它 对于初学者来说 我的函数返回一个 GMT 时区的对象 而不是用户当前的时区 如果传递的数字大于 299 它就会失败 可能是因为 goog
  • 如何使用autoconf重新生成配置文件?

    我使用 autoconf 重新生成配置文件 它有效 但是当我执行生成的配置文件时 configure 有一些错误消息 例如 configure line 3713 syntax error near unexpected token bla
  • 删除缺失的数据值

    我删除了原始帖子 以便能够发布更大版本的数据集 实际上总共有 418 行 这是我正在进行的生存分析的数据 第一列是 ID 号 其他列标记为 V2 V20 有很多缺失的数据 用 表示 我用coxph 函数来获取以下内容 Saves survi
  • R data.table 多个条件连接

    我设计了一种解决方案 用于从两个单独数据表的多个列中查找值 并添加基于新列的值计算 多个条件比较 代码如下 它涉及在计算两个表中的值时使用 data table 和联接 但是 这些表没有联接在我正在比较的列上 因此我怀疑我可能无法获得 da
  • R:ifelse 中的字符串列表

    我正在寻找与 MySQL 中的 where var in 语句类似的东西 我的代码如下 data lt data frame id 10001 10030 cc1 rep c a b c 10 attach data data new lt
  • 如何在R中匹配具有相同主键的两个表中的数据

    我有两个表 其中包含有关人员的数据 df1 lt data frame id c 113 202 377 288 359 name c Alex Silvia Peter Jack Jonny 这为我提供了 id name 1 113 Al
  • 如何确定 R 包的作者?

    如何确定包的作者是谁 鉴于我们拥有这个广泛使用的代码库 我认为参考我在分析中使用的软件是合适的 有没有办法以编程方式检索作者和任何其他相关信息 在伪代码中 我想执行以下操作 references base 我怎样才能做到这一点 为了能够引用
  • 如何从 R 数据框中提取关键字

    我是 R 中文本挖掘的新手 我想从数据框的列中删除停用词 即提取关键字 并将这些关键字放入新列中 我尝试制作一个语料库 但它对我没有帮助 df C3是我目前拥有的 我想添加栏目df C4 但我无法让它工作 df lt structure l
  • 使用 pkg:sjPlot 函数创建一个生成部分斜体单元格的数据框

    我正在尝试创建一个简单的数据表 其中 Coral taxon 列中的属名称为斜体 而 spp 列中的属名称为斜体 属名后面的部分不大写 我尝试使用 expression 函数对 Coral taxon 的每一行进行编码 但没有成功 sum
  • R中整数类和数字类有什么区别

    我想先说我是一个绝对的编程初学者 所以请原谅这个问题是多么基本 我试图更好地理解 R 中的 原子 类 也许这适用于一般编程中的类 我理解字符 逻辑和复杂数据类之间的区别 但我正在努力寻找数字类和整数类之间的根本区别 假设我有一个简单的向量x
  • 在 igraph 中为社区分配颜色

    我在 igraph 中使用 fastgreedy community 检测算法在 R 中生成社区 代码返回 12 个社区 但是在绘图时很难识别它们 因为它返回的图的颜色数量有限 我怎样才能用十二种不同的颜色绘制这个图表 l2 lt layo
  • 更快的 %in% 运算符

    The 快速匹配 https cran r project org web packages fastmatch index html包实现了更快的版本match对于重复匹配 例如在循环中 set seed 1 library fastma
  • 合并数据框而不重复行

    我想合并两个数据框 但如果有多个匹配项 则不想重复行 相反 我想总结一下那天的观察结果 来自 合并 提取两个数据框中与指定列匹配的行并将其连接在一起 如果有多个匹配项 则所有可能的匹配项各贡献一行 这是一些示例代码 days lt as d
  • 当有很多列时,使用 readr::read_csv() 导入数据时覆盖列类型

    我正在尝试使用 R 中的 readr read csv 读取 csv 文件 我导入的 csv 文件大约有 150 列 我只包含示例的前几列 我希望将第二列从默认类型 我执行 read csv 时为日期 覆盖为字符或其他日期格式 GIS Jo
  • 按特定样本前缀对列名称向量进行子集化

    假设我有一个如下所示的数据框 ca01 lt c 1 10 ca02 lt c 2 11 ca03 lt c 3 12 stuff 1 lt rep test 10 other lt rep 9 10 data lt data frame
  • R - 与 SpatialPolygonsDataFrame 对象相交的 SpatialLinesDataFrame 列表的嵌套循环

    我有一系列需要完成的步骤SpatialLinesDataFrame 此处的 线 基于对象与多特征中各个特征的关系SpatialPolygonsDataFrame 多边形 对象 简而言之 每个线列表元素源自单个面要素内部 并且可能会也可能不会
  • 从 R 中的方差分析 (glm) 中提取残余偏差

    我在 R 中安装了一个 glm 模型并采用了方差分析表 我需要提取 残余偏差 列 但它会产生错误 以下是代码 创建数据 counts lt c 18 17 15 20 10 20 25 13 12 outcome lt gl 3 1 9 t
  • 不同 R/lme4 版本的单一拟合结果不匹配

    我试图将 R 版本 3 5 3 lme4 1 1 18 1 的随机效应估计与 R 版本 4 1 1 lme4 1 1 27 1 相匹配 然而 当存在奇异拟合时 这两个版本之间的随机效应存在微小差异 我对奇点警告很满意 但令人费解的是不同版本

随机推荐

  • 更新“订单”列 MySQL?

    更新 订单 列的最佳方法是什么 假设我有一个 id 列从 0 到 9 order 列从 0 到 9 目前 它在数据库中的形式为 0 0 1 1 2 2 等 我的 HTML 页面发布了它想要的新顺序 0 8 1 3 2 6 等 这是完全随机的
  • 根据用户定义的类型创建表

    假设我有一个用户定义的类型 CREATE OR REPLACE TYPE TEST TYPE AS OBJECT f1 varchar2 10 f2 number 5 现在 我想创建一个表来保存这些类型 我可以执行以下操作 create t
  • 通过网络 ODBC 访问 *.mdb

    我有一个关于带有 mdb 的 ODBC 如何工作的一般性问题 根据我的理解 如果我错了 请纠正我 无论我是否使用odbc 当访问存储在另一台计算机 即NAS 上的MS Access数据库 mdb 时 我的计算机首先需要在对其执行任何操作之前
  • XCode:设置多个 UITableView 列

    我还没有找到一个好的答案 我一定很笨 但是 我正在尝试在每行中设置一个带有图像和标签的表格视图 该图像将是一个指示图像 新的 正在进行的 已停止的 已完成的等 标签将是一个特定的问题名称 我可以正常设置一列的表视图 但我找不到任何设置表列数
  • MongoDB - 根据嵌套数组的字段值更新数组对象中的字段

    我正在尝试更新对象数组内的字段 其中嵌套数组中的字段等于一个值 我的目标是设定picture字段一个新的 url 其中value领域在valueList is oldRed 产品架构 variations id 1 picture http
  • 为输出文件指定日期和时间

    我正在研究ffmpeg屏幕捕获 我不希望它在启动时开始录制 所以我需要给输出视频文件一个每次开始录制时都不同的名称 我确实发现这个问题非常接近我需要的 所以我结束了在批处理文件中使用以下命令 echo off For f tokens 2
  • 画布仅在循环结束后重绘

    我在画布上循环绘图时遇到问题 我想要实现的是 在每个循环中 脚本等待几毫秒 然后在画布上绘制 用户实际上可以看到更改 然后重复循环 相反 它所做的是用户无法看到更改 直到 for 循环结束 但我发现 如果我显示一个警报窗口并且脚本等待用户响
  • Azure Web App 部署失败,无法读取未定义的属性“updateStartupCommandAndRuntimeStack”

    尝试将 dotnet core 5 应用程序从 Azure Devops 部署到 Azure Linux Web 应用程序 构建工作正常 但部署步骤总是失败并显示此消息 给出了一些上下文 2021 11 09T09 53 24 617247
  • 错误:找不到符号方法 findViewById(int)

    我在我的小应用程序中遇到了 WebView 问题 我的布局中有相关的 webview 和正确的信息 并且我有直接来自 Android 开发人员站点的示例代码 但它不适合我 错误围绕 findViewById R id webview met
  • 如何计算 TTF 字体中两个字形之间的间距?

    这是一个定义了a的图字体水平字形度量的几个术语 假设我有一句话 Foo 酒吧巴兹 如何获取单词 Foo 和 bar 之间的间距大小 以像素为单位 我想我总结一下 Foo 中 o 字素中的空白右侧填充 从advance the bearing
  • 操作对象文字:按特定顺序添加属性

    我正在开发一个在线创建 Nassi Shneiderman 图的工具 每个图的模型只是一个对象文字 存储具有无限可能的子项的所有内容 this then results in a view populated like the follow
  • 幂查询 M IN 运算符

    相当于 SQL 的什么INPower BI 的运算符 就像子句中一样 where Column1 IN Value1 Value2 Value3 我正在寻找 M 解决方案 不是 DAX 您可以使用List Contains功能 例如 Tab
  • Guice 在实例化对象后调用 init 方法

    是否可以告诉 Guice 在之后调用某个方法 即 init 实例化给定类型的对象 我在 EJB 3 和 Spring 中寻找类似于 PostConstruct 注释的功能 您只需添加 Inject注释到你的init 方法 实例化对象后它将自
  • C# Socket BeginReceive / EndReceive 捕获多条消息

    问题 当我做这样的事情时 for int i 0 i lt 100 i SendMessage sometSocket i ToString Thread Sleep 250 works with this doesn t work wit
  • 我的 UITabBarController 的 didSelectViewController 方法没有被调用?

    这是我的 app delegate m 的代码存根 它永远不会被调用 void tabBarController UITabBarController tabBarController didSelectViewController UIV
  • 使用 SSH.NET 在进度栏中显示文件上传进度

    我想在我的设备上显示上传过程的进度ProgressBar 这是我的 上传 按钮的代码 private void button2 Click object sender EventArgs e int Port int Parse textB
  • 如何为现有 .json 文件添加一个对象和一对?

    我有一段代码可以更改现有 JSON 文件中确定对的值并且运行良好 现在我需要将一个对象和一对添加到该文件中 大部分使用相同的代码 那么如何做到这一点呢 谢谢 uses System Json ShFolder System IOUtils
  • 有没有办法将冒号放入 jtextfield 中,使其无法被删除?

    我希望用户输入时间 比如 12 00 但我需要弄清楚一些事情 但我迷失了方向 我可以将文本限制为 5 个字符吗 如何限制 我可以在代码中嵌入冒号 这样用户就无法删除它吗 最后 我可以获取该代码并验证它是否只是数字 当然忽略冒号 答案是使用一
  • 如何使用命令行在android中获取imsi号码

    我想要得到IMSISIM 卡数量Android使用命令行的电话 android 中是否有任何 adb 命令或任何 shell 命令用于此 I tried adb shell getprop ril IMSI在三星 Galaxy ace 中执
  • Shiny 中的动态 ggvis 对象

    我正在尝试向 Shiny 应用程序添加动态 ggvis 绘图 首先 用户选择一个维度 然后从该维度添加项目 对于 global R 和示例数据 请参阅https gist github com tts a41c8581b9d77f131b3