2015-04-16 31 views
0

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

shinyServer(function(input, output) { 

DATA<-reactive({ 
    input$filein 
}) 



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


}) 

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

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

DATA()$datapath 

但是,这似乎没有产生任何结果。在Shiny中有没有其他的方法来提取这些数据?我打算使用向量索引,因为您会使用常规R代码,但是我不确定这是否可以在Shiny中使用。

+0

你想显示文件信息或文件中的数据?或两者? – cdeterman

+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 
相关问题