【发布时间】:2016-08-17 05:57:35
【问题描述】:
在使用 R/Shiny 作为 GIS 的背景下,我对反应性非常陌生。..
如果执行两个不同的反应表达式中的任何一个,是否可以有一个反应变量会改变?
基本上,用户可以手动创建数据框或上传数据框。问题是,我将所有反应表达式都绑定到手动创建端( customDF() )并且无法集成上传端。
换句话说,我希望程序在我按下两个按钮(创建数据框和上传)中的任何一个时意识到数据框已更改。我试过让任一表达式重新分配一个静态变量,但它破坏了反应性。
按钮按下方法如下所示:
customDF <- eventReactive(input$buildTable,{
p <- getPoly()
a <- attrib()
for( i in 1:length(activeLayers)){
word <- activeLayers[i]
p[[word]] <- with(a, a[[word]][match(p$geoid, a$geoid)])
}
p
})
# Method that uses it
exportResult <- eventReactive(input$export, {
j <- customDF()
writeSpatialShape(j, paste(repoLocation,input$layerName, sep=""))
"Export successful"
})
importResult <- eventReactive(input$selectImport, {
# ??????
})
任何帮助将不胜感激。
【问题讨论】: