我想使用Rshiny中的验证函数。
output$one <- renderTable({
isolate({
Loadprob <- input$prob1
prob <- read.xls(Loadprob$datapath)
validate(need(ncol(prob)==13, "Error"))但是validate函数没有返回"Error“消息,我不知道为什么。
谢谢!
发布于 2018-05-15 00:50:33
我为你的代码创建了一个可重现的例子。对于更多的问题,请尝试自己来做。这使得查找和解决问题变得容易得多。
library(shiny)
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
fileInput("prob1", label = "Excel File", multiple = F)
),
mainPanel(
tableOutput("one")
)
)
)
# Server logic
server <- function(input, output) {
output$one <- renderTable({
req(input$prob1)
Loadprob <- input$prob1
prob <- read.csv(Loadprob$datapath, header = T, sep = ";")
## prob <- read.xls(Loadprob$datapath)
validate(need(ncol(prob)==13, "Error"))
prob
})
}
shinyApp(ui, server)我使用了read.csv而不是read.xls,因为我无法安装xlsx-package,但这不应该是问题所在。
您还必须在renderTable函数的开头包含一个req(),因为它应该只在上传文件时执行。
最后,您必须指出应将哪个变量绘制为表,在本例中为"prob“。
https://stackoverflow.com/questions/40721194
复制相似问题