从闪亮r中的反应数据集调用文件名

时间:2015-04-16 12:14:25

标签: r server shiny filepath

我目前正在编写一个闪亮的应用程序,用于导入数据集并显示操作版本。为了处理闪亮的方法,我目前正在开发一个显示导入数据集的简化版本。我目前将导入的数据集分配给反应值,然后使用渲染表,如下所示: -

shinyServer(function(input, output) {

 DATA<-reactive({
    input$filein
 })



 output$Dataset <- renderTable({ 
   DATA()
 })


})

接口然后生成一个包含以下列的表: - 名称,大小,类型,数据路径。

我想到的是调用datapath变量,并使用read.csv在renderTable函数中调用它。我尝试使用: -

DATA()$datapath

然而,这似乎不会产生任何结果。有没有其他方法可以在Shiny中提取这些数据?我考虑使用矢量索引,就像你使用常规R代码一样,但是我不确定它是否能在Shiny中工作。

1 个答案:

答案 0 :(得分:0)

以下是当前工作目录中文件的示例。我使用的示例文件是一个最小的csv文件(见底部)。但请注意,这确实仅限于工作目录中的文件。如果您想要加载其他文件,则需要另外一个组件来指定路径(可能在selectInput中)。

library(shiny)
library(tools)

runApp(
    list(
        ui = pageWithSidebar(
            headerPanel("File Info Test"),
            sidebarPanel(
                p("Demo Page."),
                selectInput("filein", "Choose File", choices=c("test.csv"))
            ),
            mainPanel(
                tableOutput("myTableInfo"),
                tableOutput("myTable")
            )
        ),
        server = function(input, output){

            mydata <- reactive({
                read.csv(input$filein)
            })

            file_info <- reactive({

                validate(
                    need(!is.null(input$filein), "please select file"
                        )
                    )

                name <- input$filein
                size <- file.info(input$filein)[['size']]
                type <- file_ext(input$filein)
                datapath <- file_path_as_absolute(input$filein)
                cbind(name, size, type, datapath)
            })

            output$myTableInfo <- renderTable({
                file_info()
            })

            output$myTable <- renderTable({
                mydata()
            })

        }
    )
)

test.csv

X1,X2,X3
1,2,3
4,5,6