这里有一个简单的例子来帮助弥补我之前的一些帖子。我认为这很容易,但是我又一次没有找到适合我的解决方案。
当运行下面的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)