使用rshiny加载和显示.rds文件

时间:2019-06-03 14:11:36

标签: r shiny

我目前正在构建一个rshiny应用程序来处理对数据的一些计算。我在加载和显示数据时遇到了一些问题。数据格式为.rds。我只是想通过界面加载它并将其显示为表格。 加载似乎还可以,但是要么我没有显示表,要么我只有关于文件的信息,例如“名称”,“大小”,“类型”,“数据路径”。

这是代码:

用户界面

fluidPage(

# Copy the line below to make a file upload manager
fileInput("file", label = h3("File input")),

hr(),
fluidRow(column(4, dataTableOutput("value")))

)

服务器

function(input, output) {

# You can access the value of the widget with input$file, e.g.


output$value <- renderDataTable({
input$file
})

}

有什么想法吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

如果我理解这个问题,它可能像下面这样简单:

function(input, output) {

# You can access the value of the widget with input$file, e.g.


output$value <- renderDataTable({
out <- readRDS(input$file)
out
})

}

您仍然必须读入要作为输入加载的RDS文件。然后,一旦您读入它,就可以将其呈现为表格。

答案 1 :(得分:0)

所以我也遇到了类似的问题,但是@MDEWITT发布的解决方案没有任何运气。经过一番挖掘,我在fileInput文档页面上找到了答案。对我来说,问题似乎在于,仅尝试加载input$file仍然会给出错误。查看文档,发布的示例将input$file保存到另一个变量,然后在其中引用了datapath。将我的代码修改为以下内容非常有效:

server <- function(input, output) { 
    output$fullDataTable <- DT::renderDataTable({
        dataFile <- input$loadFile
        if(is.null(dataFile)) {
            return()
        } else {
            readRDS(dataFile$datapath)
        }
    })
}