Shiny:如何上传带有header = T和separator =“,”的.csv作为默认值?

时间:2016-03-03 00:14:13

标签: r csv header shiny comma

我正在创建一个闪亮的应用程序,我可以在其中上传.csv文件,然后绘制数据。

您可以下载 .csv file from here

我使用下面的代码

library(shiny)
library(ggplot2)
ui <- fluidPage(
titlePanel(
tags$h1(tags$strong("Shiny app"))),
tags$hr(),
sidebarLayout(
sidebarPanel(
  a("Example input file",
  href="https://www.dropbox.com/s/4ye1ajss2ukn1e6/df_ts.csv?dl=0"),
  fileInput("file","Upload the file"), 
  h5(helpText("Select the read.table parameters below")), 
  checkboxInput(inputId = 'header', label = 'Header', value = TRUE),
  checkboxInput(inputId = "stringAsFactors", "stringAsFactors", FALSE), br(),
  radioButtons(inputId = 'sep', label = 'Separator', 
               choices = c(Comma=',' ,Semicolon=';'
                           ,Tab='\t', Space=''
               ), selected = ',')),
mainPanel(plotOutput("line") )))
server <- function(input,output){
data <- reactive({
file1 <- input$file
if(is.null(file1)){return()} 
read.csv(file1$datapath, header=input$header, sep=input$sep, quote=input$quote)
})
output$line <- renderPlot({
if (is.null(data())) { return() }
df <- data()
df$date <- as.Date(df$date, format="%d/%m/%Y") 
print(ggplot(data=df, aes(x=date, y=param1)) + geom_line())
})  
}
shinyApp(ui = ui, server = server)

我的问题是如何修改此应用,因此默认情况下.csv文件的headerTRUEseparatorcomma则不需要在上面的应用程序中拥有所有单选按钮和选项?

1 个答案:

答案 0 :(得分:2)

嗯,你可以这样做

read.csv(file1$datapath, header=TRUE, sep=',')

取消单选按钮