यदि आप नियमित चर (वैश्विक पर्यावरण में, या अन्यथा) अपडेट करते हैं तो चमकदार उन्हें प्रतिक्रिया करने के बारे में नहीं जानता है। इसके बजाय आपको अपने चर को स्टोर करने के लिए reactiveValues
ऑब्जेक्ट का उपयोग करने की आवश्यकता है। आप reactiveValues()
का उपयोग करके एक बनाते हैं और यह पर्यावरण या सूची की तरह काम करता है - आप वस्तुओं को नाम से स्टोर कर सकते हैं। आप मूल्यों तक पहुंचने के लिए या तो $foo
या [['foo']]
वाक्यविन्यास का उपयोग कर सकते हैं।
एक बार प्रतिक्रियाशील फ़ंक्शन reactiveValues
ऑब्जेक्ट से एक मान पढ़ता है, यदि वह मान भविष्य में किसी भिन्न मूल्य से अधिलेखित हो जाता है तो प्रतिक्रियाशील फ़ंक्शन को पता चलेगा कि इसे फिर से निष्पादित करने की आवश्यकता है।
values <- reactiveValues()
updateData <- function() {
vars <- load(file = "my_data_frame.RData", envir = .GlobalEnv)
for (var in vars)
values[[var]] <- get(var, .GlobalEnv)
}
updateData() # also call updateData() whenever you want to reload the data
output$foo <- reactivePlot(function() {
# Assuming the .RData file contains a variable named mydata
plot(values$mydata)
}
हम बहुत जल्द इस सामग्री पर बेहतर प्रलेखन होना चाहिए:
यहाँ एक उदाहरण (इस तथ्य से जटिल बना दिया है कि आप कुछ है कि एक ही मान देता है, read.table
तरह के बजाय load
उपयोग कर रहे हैं) है। इस बीच हमारे साथ असर के लिए धन्यवाद।
स्रोत
2013-02-16 00:31:06
बहुत उपयोगी। धन्यवाद! पाने के साथ चाल() भी जानना अच्छा है :) – user1342178