2017-01-24 3 views
-1

В приведенном ниже коде я хочу, чтобы вывести выходной файл $ click в глобальную среду.как довести сервер.r до глобальной среды?

В конечном счете, я хочу использовать выбранное значение напрямую.

Можно ли использовать значения, выбранные мышью в виде x, y, даже если приложение Shiny прекращено?

ui <- fluidPage(

radioButtons("plotType", "Plot Type:", choices = c("ggplotly", "plotly")), 

plotlyOutput("plot" 

), 

verbatimTextOutput("click"), 

verbatimTextOutput("brush") 

) 

server <- function(input, output, session) { 

output$plot <- renderPlotly({ 

# use the key aesthetic/argument to help uniquely identify selected observations 

key <- row.names(mtcars) 

if (identical(input$plotType, "ggplotly")) { 

p <- ggplot(data, aes(x = c(1:nrow(data)) , y = y, colour = factor(WF_ID), key = LOT_CODE)) + 

geom_line(color="black") + geom_point() 

ggplotly(p) %>% layout(dragmode = "select") 

} else { 

plot_ly(data, x = ~c(1:nrow(data)), y = ~y, key = ~data$LOT_CODE, mode = 'lines+markers') %>% 

layout(dragmode = "select") 

} 

}) 

output$click <- renderPrint({ 

d <- event_data("plotly_click") 

if (is.null(d)) "Click events appear here (double-click to clear)" else d 

}) 

} 
+2

** Отказ от ответственности: некоторые утверждают, что это не очень хорошая практика. ** Хотя можно передавать данные с блестящего сервера в глобальную среду с помощью оператора '<< -' – HubertL

+0

Вы можете использовать 'assign' с' envir 'аргумент также – zacdav

ответ

1

Как упоминалось @HubertL, используя <<- при присвоении значения переменной возможно. Если вы хотите сохранить некоторое значение в переменной для последующего использования, то есть после того, как ваше приложение прекратило, вы можете использовать этот <<- opreator.

Однако, если вы хотите сделать переменную global, пока ваше приложение работает, вы можете использовать reactiveValues(). Объявление вашего reactiveValues() в global.R сделает их видимыми для каждого файла .R, ссылки на который вы ссылаетесь на ваш ShinyApp. Затем вы просто назначаете observer() или reactive()output$click с <- в reactiveValues(). Кроме того, использование reactiveValues() будет поддерживать «реактивность» output$click. Если output$click изменится, reactiveValues() изменит и вызовет зависимости.