「R shiny 抓虫」为什么我的fileInput失效了?

2024-06-23 20:38
文章标签 失效 fileinput shiny 抓虫

本文主要是介绍「R shiny 抓虫」为什么我的fileInput失效了?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

只有经历几个我得花好久才能找到的bug,我才觉得我有点会用Shiny了

今天在写Shiny 的时候遇到了几个巨大的问题,就是Shiny中一个组件fileInput无论如何都无法上传文件

2013053-b01de05ebda39995.png
fileinput

我在这个问题上花了差不多1个小时时间,其中大概做了如下几件事情:

  • 不断的进行代码注释,检查我新增代码块是否有问题
  • 重启电脑
  • 将代码放到另一台电脑上运行

直到问题的解决的一瞬间,我才认识到福尔摩斯的话是多么正确

当你排除所有的不可能,无论剩下的是什么,即使是不可能也一定是真相.

接下来,我就提供一个最简单的代码复现出我的问题。由于这是很最简洁代码了,相信大家应该能够比较容易发现错误

if (interactive()) {ui <- fluidPage(sidebarLayout(sidebarPanel(fileInput("file1", "Choose CSV File",accept = c("text/plain",".vcf")),tags$hr(),checkboxInput("header", "Header", TRUE)),mainPanel(tableOutput("contents"),downloadLink("a",label = "Download"),downloadLink("a",label = "Download"))))server <- function(input, output) {output$contents <- renderTable({# input$file1 will be NULL initially. After the user selects# and uploads a file, it will be a data frame with 'name',# 'size', 'type', and 'datapath' columns. The 'datapath'# column will contain the local filenames where the data can# be found.inFile <- input$file1if (is.null(inFile))return(NULL)read.csv(inFile$datapath, header = input$header)})}shinyApp(ui, server)
}

我用动图演示下效果

2013053-57af4cecbc2cf869.gif
错误演示

下面是正确答案的分割线


文件无法上传的原因是下面这两行一模一样的代码。由于他们拥有相同的outputId, 其结果就是Shiny 没有解析出数据的输入和数据,结果导致Shiny的reactive体系无法正确调用server函数

        downloadLink("a",label = "Download"),downloadLink("a",label = "Download")

有了这个血泪教训,我想之后,我应该更会小心的处理inputIdoutputId了吧

我的一个好朋友果子老师经常说我成长很快,因为他们做一次实验的时间,我们的运算可以重复很多次。但是同样的,我们明天也要经历更多的失望。那些杀不死你的会让你更强大,所以我变秃了,也变强了。

这篇关于「R shiny 抓虫」为什么我的fileInput失效了?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1088219

相关文章

MySQL进阶之路索引失效的11种情况详析

《MySQL进阶之路索引失效的11种情况详析》:本文主要介绍MySQL查询优化中的11种常见情况,包括索引的使用和优化策略,通过这些策略,开发者可以显著提升查询性能,需要的朋友可以参考下... 目录前言图示1. 使用不等式操作符(!=, <, >)2. 使用 OR 连接多个条件3. 对索引字段进行计算操作4

Goland debug失效详细解决步骤(合集)

《Golanddebug失效详细解决步骤(合集)》今天用Goland开发时,打断点,以debug方式运行,发现程序并没有断住,程序跳过了断点,直接运行结束,网上搜寻了大量文章,最后得以解决,特此在这... 目录Bug:Goland debug失效详细解决步骤【合集】情况一:Go或Goland架构不对情况二:

mysql外键创建不成功/失效如何处理

《mysql外键创建不成功/失效如何处理》文章介绍了在MySQL5.5.40版本中,创建带有外键约束的`stu`和`grade`表时遇到的问题,发现`grade`表的`id`字段没有随着`studen... 当前mysql版本:SELECT VERSION();结果为:5.5.40。在复习mysql外键约

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

oracle数据库索引失效的问题及解决

《oracle数据库索引失效的问题及解决》本文总结了在Oracle数据库中索引失效的一些常见场景,包括使用isnull、isnotnull、!=、、、函数处理、like前置%查询以及范围索引和等值索引... 目录oracle数据库索引失效问题场景环境索引失效情况及验证结论一结论二结论三结论四结论五总结ora

SpringBoot嵌套事务详解及失效解决方案

《SpringBoot嵌套事务详解及失效解决方案》在复杂的业务场景中,嵌套事务可以帮助我们更加精细地控制数据的一致性,然而,在SpringBoot中,如果嵌套事务的配置不当,可能会导致事务不生效的问题... 目录什么是嵌套事务?嵌套事务失效的原因核心问题:嵌套事务的解决方案方案一:将嵌套事务方法提取到独立类

MySQL的索引失效的原因实例及解决方案

《MySQL的索引失效的原因实例及解决方案》这篇文章主要讨论了MySQL索引失效的常见原因及其解决方案,它涵盖了数据类型不匹配、隐式转换、函数或表达式、范围查询、LIKE查询、OR条件、全表扫描、索引... 目录1. 数据类型不匹配2. 隐式转换3. 函数或表达式4. 范围查询之后的列5. like 查询6

ider文件查找功能失效

在ider中,配置快速查找文件为ctrl+shift+R(Eclipse风格),有时明明类存在,却搜索不到,这时可以清除idea缓存并重启试试: 第一步:点击 File 选择 Invalidate Caches/Restart 第二步:

Form 表单的 resetFields() 失效原因

假设我们有如下代码:  <template><ElForm ref="formRef" :model="formModel" :rules="rules"><!-- 表单内容 --></ElForm></template><script setup>import { ref } from 'vue';const formRef = ref(null);const formModel = ref

【佳学基因检测】网站加密证书失效后,如何移除并为新的证书安装准备环境?

【佳学基因检测】网站加密证书失效后,如何移除并为新的证书安装准备环境? 当WoTrus DV Server CA证书失效后,你需要确保你的Nginx配置中不再引用该证书,并且移除或替换相关的证书文件。以下是具体步骤: 1. 确认Nginx配置文件 首先,检查Nginx的配置文件,确保它不再引用旧的WoTrus证书。如果你已经使用Certbot安装了Let’s Encrypt证书,Certbo