闪亮:如何默认上传带有 header =T 和分隔符 ="," 的 .csv?
Shiny: how to upload a .csv with header =T and separator ="," as default?
我正在创建一个闪亮的应用程序,我可以在其中上传 .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
没有需要在上面的应用程序中拥有所有单选按钮和选项吗?
好吧,你可以这样做
read.csv(file1$datapath, header=TRUE, sep=',')
并取消单选按钮
我正在创建一个闪亮的应用程序,我可以在其中上传 .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
没有需要在上面的应用程序中拥有所有单选按钮和选项吗?
好吧,你可以这样做
read.csv(file1$datapath, header=TRUE, sep=',')
并取消单选按钮