2016-08-03 46 views
0

我有一個關於Shiny中無功值和全局變量的常見問題。我的目標是在不同的反應環境中將數據輸入到數據框中,並且數據框應始終保持最新狀態。實際上我並不需要像我們的數據框那樣在其他輸入上做出反應。我將按照以下步驟進行操作:首先創建一個全局數據框,然後使用「< < - 」輸入值。我看不出在這裏使用反應值的任何理由。不過,對於Shiny,我很新,非常感謝您對此問題的看法。R中閃亮:無功值與全局變量

+0

爲什麼你需要時不使用任何反應性官能團這樣的全球數據框(?)?您何時何地閱讀這個變量?你能舉一個例子嗎?無論如何,應儘可能避免全局變量。通常情況下,這是可能的。 –

+0

@ Patrick Roocks。感謝您的評論。我想我的問題有點不清楚。實際上,我想在不同的反應函數中將數據輸入到數據框中,但它不像被動函數必須在數據幀發生更改時發生反應(如eventReactive())。對我來說至關重要的是數據幀始終是最新的,我可以在不同的反應環境中使用這些值。你明白我的意思嗎? –

+1

在我的理解中,反應函數中使用的「最新值」應該是被動的。在這個問題中,我得到了一些幫助,以消除一個全局變量使用reactiveValues:http://stackoverflow.com/questions/33722757/update-handsontable-by-editing-table-and-or-eventreactive –

回答

-1

你如何建議讓你的數據庫保持最新?如果您正在構建更新數據庫的應用程序,則必須爲其提供用戶輸入。

如果您的數據庫更新依賴於用戶輸入,那麼您的數據庫必須是被動的,以便對用戶輸入做出反應。

代碼將有以下結構:

ui <- shinyUI(pageWithSidebar(
mainPanel(selectInput()))) 

server <- shinyServer(function(input, output, session) { 
database_update <- function(input$user_input) 
}