2016-08-03 3 views
0

У меня есть общий вопрос относительно реактивных значений и глобальных переменных в Shiny. Моя цель - вводить значения в фреймворк данных в разных реактивных средах, и датафрейм всегда должен быть актуальным. Мне не нужны среды, чтобы реагировать на мой фреймворк, как на других входах. Я бы сделал следующее: Создайте глобальный фрейм данных в начале и введите значения с помощью «< < -». Я не вижу причин использовать здесь реактивные значения. Тем не менее, я совершенно новичок в Shiny и очень ценю ваше мнение по этому вопросу.Блестящие в R: реактивные значения против глобальных переменных

+0

Зачем вам нужен такой глобальный dataframe, который не используется в любой реактивной функции (?)? Где и когда вы читаете эту переменную? Можете ли вы опубликовать пример? Во всяком случае, глобальные переменные следует избегать, когда это возможно. Обычно это возможно. –

+0

@ Патрик Руины. Спасибо за ваш комментарий. Думаю, мой вопрос был немного неясным. Фактически, я хочу вводить значения в dataframe в разные реактивные функции, но это не так, как реагирующая функция должна реагировать на событие изменения в кадре данных (например, eventReactive()). Для меня важно то, что dataframe всегда обновляется, и я могу использовать эти значения в разных реактивных средах. Вы понимаете, что я имею в виду? –

+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) 
} 
Смежные вопросы