Приведенный ниже код может дать вам то, что вам нужно.
library(shiny)
ui <- basicPage(
uiOutput("test"),
plotOutput("plot1")
)
server <- function(input, output) {
output$test <- renderUI({
selectInput("dummy", "Select one value", c(mtcars$qsec))
})
output$plot1 <- renderPlot({
plot(mtcars$wt, mtcars$mpg, main = paste0("this is main ",input$dummy,""))
})
}
shinyApp(ui, server)
Использование selectInput
для проверки ваших требований. Сделайте необходимые изменения для вашей актуальной проблемы.
Я извлек достаточно уроков, чтобы сделать следующее:
Править: Я хотел добавить еще один объект, который является, по крайней мере, как важный, и возможно больше, чем другие.
Важный: избегайте технического долга.
"Если это не, повредился, не обновляйте", сумасшедшая политика, которая приводит к программному обеспечению, так поврежденному, что никто не может зафиксировать его.
Сыпь, непротестированные изменения являются плохой идеей, но не настолько плохо как накопление технического долга, потому что это кажется более дешевым вскоре.
Получите "ночную сборку" процесс, идущий, таким образом, можно непрерывно тестировать все изменения - Ваш, а также пакеты, от которых Вы зависите.
Пока у Вас нет непрерывного процесса интеграции, можно сделать ежеквартальные главные версии, которые включают модернизации инфраструктуры.
Избегайте технического долга.
Один подход должен привести библиотеки с открытым исходным кодом, которыми Вы пользуетесь при своем собственном управлении исходным кодом. Затем периодически объединяйте восходящие изменения в свое следующее ответвление выпуска, или раньше если они - исправления безопасности и запускают Ваши автоматизированные тесты.
Другими словами, используйте те же критерии, чтобы решить, использовать ли восходящие изменения, как Вы делаете для циклов выпуска на коде, который Вы пишете в доме. Полагайте, что разработчики ПО с открытым исходным кодом часть Вашей виртуальной группы разработчиков. Это действительно имеет место так или иначе, это - просто вопрос того, принимаете ли Вы решение распознать его как часть Ваших методов разработки.
В то время как Вы не хотите обновлять просто, потому что существует новая версия, существует другое соображение, которое является доступностью старой версии. Я столкнулся с той проблемой, пытающейся разрабатывать проекты с открытым исходным кодом.
Я обычно предполагаю, что игнорирование новой версии библиотеки (coz' оно не имеет никаких интересных функций или улучшений) является ошибкой, потому что однажды Вы узнаете, что эта версия необходима для миграции для следующей версии, до которой Вы могли бы хотеть обновить.
Таким образом, мой совет состоит в том, чтобы рассмотреть тщательно, что изменилось в новой версии и рассматривает, требуют ли изменения большого тестирования, или мало.
Если большое тестирование требуется, лучше обновлять до более новой библиотеки при следующем выпуске (основная версия) Вашего программного обеспечения (как при перемещении от v8.0 до v8.5). Когда это происходит, я предполагаю, что также существуют другие основные модификации, таким образом, большое тестирование сделано.
Я предпочитаю не позволять версиям отстать слишком далеко позади на подчиненных библиотеках. До года хорошо для большинства библиотек, если безопасность или проблемы производительности не известны. Библиотеки с известными проблемами безопасности - необходимость для обновления.
Я периодически загружаю последнюю версию каждой библиотеки и выполняю мои модульные тесты приложений с помощью них. Если они передают, я использую их в нашей разработке и средах интеграции некоторое время и нажатии к QA, когда я удовлетворен, что они не сосут.
Вышеупомянутая процедура предполагает, что API значительно не изменился. Все ставки выключены, если я должен осуществить рефакторинг существующий код только для использования более новой версии библиотеки. (например, Ось 1x по сравнению с 2x) Затем я должен был бы включить управление для принятия решения выделить ресурсы. Такое изменение обычно отличалось бы, пока главная версия унаследованного кода не планируется.
Некоторые важные вопросы:
Если обновление не выглядит плохо согласно указанным выше критериям, лучше пойти с ним, и если Вы имеете какие-либо проблемы, возвращаетесь к старой версии.