在 R Shiny 中,如何对数据帧的指定列求和并将结果输出到 table?

In R Shiny, how to sum specified columns of a dataframe and output the results into a table?

这是一个简单的方法,可以帮助弥补我的其他一些帖子。我认为这很容易,但我又一次没有在搜索中找到适合我的解决方案。

当 运行 下面的 MWE 代码时,我如何生成一个简单的 table 输出来显示 2 个注释列('Nbr' 和 'MOB')的总和?下面给了我“总和错误:无效的'type'(字符)参数”。

我想要一个 table 输出(不是嵌入文本字符串中的值),因为在完整的应用程序中,我将向输出添加其他总和,构建更大的 table.

MWE 代码:

library(shiny)

beta <- matrix(c(19,19,19,'2014-07','2014-08','2014-09',1,2,3), 
               nrow = 3, 
               ncol = 3, 
               dimnames = list(NULL,c("Nbr","Month","MOB")))
beta <- data.frame(beta)


ui <- fluidPage(
  tableOutput("summary")
  )

server <- function(input, output, session) {
  
  output$summary <- renderTable(c(sum(beta$Nbr,sum(beta$MOB))))
  
}

shinyApp(ui, server)

错误 (Error in sum(beta$MOB) : invalid 'type' (character) of argument) 告诉您不能对字符向量执行函数 sum。所以你首先必须转换为数字,然后错误就消失了。

beta <- matrix(c(19,19,19,'2014-07','2014-08','2014-09',1,2,3), 
               nrow = 3, 
               ncol = 3, 
               dimnames = list(NULL,c("Nbr","Month","MOB")))
beta <- data.frame(beta)

在此处添加:

beta[c("Nbr","MOB")]<-sapply(beta[c("Nbr","MOB")],as.numeric)