Я делаю апплет, у которого уже должна быть сгенерированная таблица при открытии.Когда пользователь заканчивает ввод данных в один столбец таблицы handson, он нажимает кнопку отправки, а затем я хочу, чтобы R блестящий автоматически начал выполнять определенные вычисления, заполняющие значения во всех других столбцах таблицы.Вот почему я называю это самоанализом.Вот соответствующий код:
server <- function(input,output){
df_old <- as.data.frame(matrix(0, nrow= dim(as.matrix(category))[1], ncol = 3))
df_new <- as.data.frame(matrix(0, nrow= dim(as.matrix(category))[1], ncol = 3))
output$tbl <- renderRHandsontable({
rhandsontable(df_old)
})
df_new<<- eventReactive(input$submit,{
df_old<<- as.data.frame(df_new)
table<-as.data.frame(hot_to_r(input$tbl))
df_new<- comparison(DF_old,table,CDF)
})
output$tbl <- renderRHandsontable({
rhandsontable(df_new())
})
}
output$tbl
относится к таблице rhandson
, которую я инициализировал в ui
.Сначала я инициализирую 2 df
значений.Мне нужно старое значение df
со старыми значениями и новая переменная df
, в которой хранятся новые значения, чтобы я мог сравнить их перед выполнением вычислений в отдельном comparison function
.Затем исходный бланк tbl
инициализируется.Затем я говорю R назначить новые значения для df_new
при нажатии submit button
.comparison
возвращает новый dataframe
, который затем будет возвращен на df_new
.Затем я сделал второй renderRHandsontable
, надеясь, что, поскольку df_new
теперь реагирует , , он всегда будет повторно отображать таблицу всякий раз, когда df_new
изменяется.Но все, что я сейчас получаю, это:
Warning: Error in do.call: second argument must be a list
131: stop
130: do.call
129: hot_to_r
127: eventReactiveHandler [C:/Users/Mykhalo Petrovskyy/Desktop/Accessible Project/R_Econ_App/new.R#59]
83: df_new
79: func [C:/Users/Mykhalo Petrovskyy/Desktop/Accessible Project/R_Econ_App/new.R#63]
78: origRenderFunc
77: output$tbl
1: runApp
Буду признателен за любую помощь.