我正在创建一个闪亮的应用程序,我可以在其中上传.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文件的header
为TRUE
而separator
为comma
则不需要在上面的应用程序中拥有所有单选按钮和选项?
答案 0 :(得分:2)
嗯,你可以这样做
read.csv(file1$datapath, header=TRUE, sep=',')
取消单选按钮