我正在制作一个小程序,该小程序在打开时应该已经有一个handson表。 当用户完成将数据输入到handson表的一列中时,他按了提交按钮,然后我希望R Shiny自动开始进行某些计算,以填充表中所有其他列中的值。这就是为什么我称其为自我计算。以下是相关代码:
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
现在处于活动状态,因此无论何时{{1} } 变化。但是我目前得到的只是这个:
df_new
我将不胜感激。