r - R Shiny - 第一个块中的数据集加载在第二个块中不存在......?
问题描述
我用 library learnr构建的闪亮应用程序中有一个奇怪的错误。关于我刚刚加载并刚刚可视化的对象的错误“找不到对象”(意味着该对象不存在?)
虽然我没有可重现的示例,但你们中的一些人可能会理解是什么造成了错误:
我有一个加载数据集的第一个块 {r load}。这里没有错误,我什至可以可视化数据集(截图如下)
然后我有第二个块,我想在其中操作数据集。但它告诉我数据集不存在!怎么可能,我之前只是想象了一大块?!...
我不明白数据集如何存在于一个块中,而不是另一个。这是否意味着数据集未在全局环境中加载?是学习者图书馆的问题吗?
也许有人会有一个想法,或者我可以测试的东西。先感谢您。
编辑:
问题与环境/工作区有关。在第一个块中,即使我加载数据集,它也不会存储在环境中。我在第二个块中测试了该函数ls()
,它告诉我工作区中没有对象。加载的数据集不在这里,我不知道为什么......
解决方案
在我看来,闪亮不存储任何数据。您必须手动将其从一个块传递到另一个块,如下所示(仅添加来自 的代码片段server
):
server <- function(input, output, session) {
output$heat <- renderPlotly({
Name<-c("John","Bob","Jack")
Number<-c(3,3,5)
Count<-c(2,2,1)
NN<-data.frame(Name,Number,Count)
render_value(NN) # You need function otherwise data.frame NN is not visible
# You can consider this as chunk 1
})
render_value=function(NN){
# Here your loaded data is available
head(NN)
# You can consider this as chunk 2
})
}
}
shinyApp(ui, server)
你可以在这里找到完整的代码:Subset a dataframe based on plotly click event
或者
按照此处的建议创建global.R
文件并遵循以下 URL:R Shiny - 在应用程序开始时创建全局数据框
推荐阅读
- angular - Ionic Crop 插件因类型而导致构建错误
- python - 我想在不更改源文件的情况下更改 python 中的导入函数
- r - R中的列中的相同名称
- python - Bing Maps API BirdsEye 偏离中心
- xml - Web 代理:无法为 SSL/TLS 安全通道建立信任关系
- reactjs - 隐藏通过发布活动事件发送的文本
- wordpress - Wordpress - 子主题模板页面
- javascript - 我必须在哪里定义 Alfresco 中的连接器?我可以从“.bpmn”文件中使用它们吗?
- vue.js - ElementUI 使用子组件进行验证
- java - Pychrm中的pyspark'不支持的类文件主要版本55'与anaconda插件