在Shiny

时间:2015-07-10 08:44:01

标签: r csv shiny igraph

有没有人知道如何从我的数据框保存数据,然后导出到用户输入文件的同一文件夹位置的csv文件。

这是我的计划结构:

  1. 用户将提示输入文件夹位置,然后阅读Pajek(.net)文件
  2. 计算按每个顶点的度数排序的每个顶点的度数,最高度位于顶部,最低位于底部。然后显示在数据框中。
  3. 在同一文件夹位置输出CSV文件
  4. 这是我到目前为止所做的事情:

    ui.R

    library(igraph)
    options(shiny.maxRequestSize=-1)
    
    shinyUI(fluidPage(
      titlePanel("Finding most influential vertex in a network"),
    
      sidebarLayout(
        sidebarPanel(
    
          fileInput("graph", label = h4("Pajek file")),
    
          downloadButton("downloadData", "Download")
    
    
        ),
        mainPanel( uiOutput("tb")             
                   )                        
      )
    ))
    

    server.R

    library(igraph)
    options(shiny.maxRequestSize=-1) 
    
    shinyServer(
      function(input, output) {
    
        filedata <- reactive({
          inFile = input$graph
          if (!is.null(inFile))
          read.graph(file=inFile$datapath, format="pajek")
    
        })
    
        Data <- reactive({
    
          df <- filedata()
          vorder <-order(degree(df), decreasing=TRUE)
          DF <- data.frame(ID=as.numeric(V(df)[vorder]), degree=degree(df)[vorder])
    
        })
    
        output$tb <- renderUI({
          if(is.null(filedata()))
          h2("Please select Pajek file..")
        else
          tabsetPanel(type = "tabs", 
                      tabPanel("Table", tableOutput("view")) ) 
    
        }      
          )
        output$view <- renderTable({
    
          Data()
    
        })
    
           output$downloadData <- downloadHandler(
    
           filename = function() {
            paste("degree", '.csv', sep='')
          },
    
    
          content = function(file) {
    
          write.csv(Data(), file)
          }
        )
        })
    

    但是,该文件没有保存。 有谁知道如何解决这个问题?

0 个答案:

没有答案