r - 闪亮的操纵 input$df 与反应
问题描述
我是闪亮的新手,并试图修改此代码以允许从动态选择的 csv 中使用该函数。
## function to return random row number from data set
getTweet <- function(){
tweetData[sample(nrow(tweetData), 1), ]
}
our_tweet <- isolate(appVals$tweet)
output$tweet <- renderText({ our_tweet$tweet })
output$screen_name <- renderText({ our_quote$screen_name })
output$resultsTable <- renderDataTable({appVals$ratings})
上面的代码在 tweetData 是通过 read.csv() 读取的静态 csv 时有效,但是当我尝试使用下拉菜单选择 csv 时,我能够无错误运行的唯一方法是将其放入 renderDataTable() 函数中. 我如何在 input$file 中使用反应值并且仍然能够运行上述代码。
使用 renderDataTable() 的代码:
output$test <- renderDataTable({
req(input$file)
csvName <- paste0('../path/to/file/', input$file)
selectedData <- read.csv(csvName)
selectedData
})
我希望能够做这样的事情:
csvName <- paste0('../path/to/file/', input$file)
selectedData <- read.csv(csvName)
selectedData[sample(nrow(selectedData), 1), ]
解决方案
您可以创建reactive
函数:
csvName <- reactive(paste0('../path/to/file/', input$file))
selectedData <- reactive(read.csv(csvName()))
然后,您可以在其他反应器中使用反应函数,例如renderDataTable
:
output$test <- renderDataTable({
selectedData()[sample(nrow(selectedData()), 1), ]
})
()
调用反应函数的结果时不要忘记: csvName()
, selectedData()
, , ...
推荐阅读
- ignite - 如何在 apache ignite 中使用递归数据库调用?
- javascript - 如何在 getServerSideProps() 函数中访问组件的道具?
- ios - XIB 文件中的自定大小自定义单元格不起作用。TableView 也在 XIB 文件中
- python - 执行插入查询将日期包含到 python 访问中
- php - ETSY Api PHP 获取令牌凭证
- python - 使用 Python 按数组名称在 MongoDB 中查找文档?
- jquery - 我正在尝试使用数据库中的 ajax 在 jsp 中创建一个自动填充的文本框
- python - 为什么在 python 中可以在循环期间从列表中删除元素?
- jquery - 减少或简化 jquery 脚本
- spring-cloud - Spring Cloud kafka流处理器API kafka记录键为空,而记录值正确