显示基于 rhandsontable 值的特定列的总和
show the sum of specific columns based on rhandsontable values
我正在尝试创建一个闪亮的应用程序,它会在用户选择行时显示列的总和(例如 mtcars$mpg)。例如,如果在 rhandsontable 中单击了前两个框,那么下面我应该看到 21 和 21 的总和。我无法理解它,到目前为止已经编写了这段代码:
library(shiny)
library(rhandsontable)
ui=fluidPage(
rHandsontableOutput('table'),
textOutput ('selected')
)
server=function(input,output,session)({
df <- data.frame(head(transform(mtcars, Selected = as.logical(NA) )))
output$table=renderRHandsontable(
rhandsontable(df,selectCallback = TRUE,readOnly = FALSE)
)
output$selected<-renderText({
})
}) # end server
shinyApp(ui = ui, server = server)
有什么办法可以实现吗?
我找到方法了!首先将 rhandsontable 保存为 r 对象,然后应用子集和聚合函数,然后将结果呈现为 table :
我可以像这样使用反应
tab1 <- reactive({
if(!is.null(input$table )) {
nt <- hot_to_r(input$table)
nt.1<- subset(nt, Selected == TRUE, select = c(mpg,gear))
nt.2 <- aggregate(nt.1$mpg ~ nt.1$gear , data = nt.1 , FUN = 'sum') }
})
:-)
我正在尝试创建一个闪亮的应用程序,它会在用户选择行时显示列的总和(例如 mtcars$mpg)。例如,如果在 rhandsontable 中单击了前两个框,那么下面我应该看到 21 和 21 的总和。我无法理解它,到目前为止已经编写了这段代码:
library(shiny)
library(rhandsontable)
ui=fluidPage(
rHandsontableOutput('table'),
textOutput ('selected')
)
server=function(input,output,session)({
df <- data.frame(head(transform(mtcars, Selected = as.logical(NA) )))
output$table=renderRHandsontable(
rhandsontable(df,selectCallback = TRUE,readOnly = FALSE)
)
output$selected<-renderText({
})
}) # end server
shinyApp(ui = ui, server = server)
有什么办法可以实现吗?
我找到方法了!首先将 rhandsontable 保存为 r 对象,然后应用子集和聚合函数,然后将结果呈现为 table :
我可以像这样使用反应
tab1 <- reactive({
if(!is.null(input$table )) {
nt <- hot_to_r(input$table)
nt.1<- subset(nt, Selected == TRUE, select = c(mpg,gear))
nt.2 <- aggregate(nt.1$mpg ~ nt.1$gear , data = nt.1 , FUN = 'sum') }
})
:-)