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



这里有一个简单的例子来帮助弥补我之前的一些帖子。我认为这很容易,但是我又一次没有找到适合我的解决方案。

当运行下面的MWE代码时,我如何生成一个简单的表输出,显示2列('Nbr'和'MOB')的和?下面给我的是"Error in sum: argument"无效的'type'(字符)。

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

兆瓦代码:

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)