根据在ui.R-server中选择的文件类型更改服务器.R中使用的代码

根据在ui.R-server中选择的文件类型更改服务器.R中使用的代码,r,csv,checkbox,input,shiny,R,Csv,Checkbox,Input,Shiny,我正在开发一个闪亮的应用程序,为数据集寻找最佳的线性回归模型。我希望人们能够输入.txt、.xls或.csv文件。我的ui.R中有以下代码: fileInput("mydata", label = h4("Please upload the .xls, .txt, or.csv file you would like included in the analysis.")), checkboxGroupInput("filetype", label = h4("Please select

我正在开发一个闪亮的应用程序,为数据集寻找最佳的线性回归模型。我希望人们能够输入.txt、.xls或.csv文件。我的ui.R中有以下代码:

 fileInput("mydata", label = h4("Please upload the .xls, .txt, or.csv file you would like included in the analysis.")),

 checkboxGroupInput("filetype", label = h4("Please select the type of data uploaded:"), choices = (".csv", ".txt", ".xls"), selected = ".xls"),

 checkboxGroupInput("header", label = h4("Does your table have a header (column names)?"), choices = ("TRUE", "FALSE"), selected = "TRUE"),
我相信这应该允许他们浏览电脑中的文件,上传文件,然后告诉我文件类型以及是否有标题

在我的server.R中,如果有.txt或.xls,我不知道如何告诉我的输出使用一个代码,如果有.csv,则使用另一个代码。到目前为止,我只有这些:

  dat <- read.table(input$mydata, header=input$header) #if .xls or .txt
  dat <- read.csv(input$mydata, header=input$header) #if .csv

dat您应该使用单选按钮而不是组复选框,因为前者只允许一个选择。例如,组复选框允许他们说他们的文件是.csv和.txt。这也意味着用户可以选择他们的文件既有头也没有头

在你做出改变之后,你所需要的就是一个基本的if/then语句。类似于

header_var <- FALSE
if (input$header==1) header_var <- TRUE


if (input$filetype==1) {  # input 1 means they picked .csv
    dat <- read.csv(input$mydata, header=header_var)
} 
header\u var