Хотя @anotherfred прав, что этот вопрос обсуждался, он не получил полного ответа.
Рассмотрим это минимальное приложение:
library(shiny)
ui <- fluidPage()
server <- function(input, output, session) {
print(input)
}
shinyApp(ui, server)
Консоль
...
...
$readonly
[1] TRUE
$ns
function (x)
x
<bytecode: 0x000000000c417de0>
<environment: namespace:base>
В консоли вы увидите, что input
имеет атрибут read-only
. Конечно, атрибуты теоретически могут быть перезаписаны.
Смотрите обсуждение здесь:
https://github.com/rstudio/shiny/issues/167#issuecomment-108412945
Это приведет к: attr(input, "readonly") <- FALSE
. Я помню, я попробовал это некоторое время назад, и это сработало. Не уверен, что это все еще работает, но на самом деле это не так важно. Потому что это, безусловно, не лучшая практика, и в большинстве случаев найдется лучший способ достичь желаемого результата.
В вашем случае я бы вместо этого использовал значение реактивного и сделал бы данные в пределах renderTimevis()
реактивными. Если вы добавите воспроизводимый пример, мы можем обсудить его подробно. Я вижу тот же вывод, что и Джонни Фелпс, упомянутый в комментарии (с загруженной библиотекой timevis, ...)