给你。
假设您的文件的格式是可以用read读取的。table(),此示例将是您的工作起点。
您可以使用
fileInput()
要输入文件,可以是中的任何格式。csv。txt或。RData或您需要的任何其他文件类型。
您使用
fileInput("Table1",...)
在UI中。然后在应用程序的server()函数中,您可以通过以下方式访问输入文件
input$Table1
。具体而言,文件上载并保存在临时位置,您可以使用
input$Table1$datapath
。
使用此文件位置,您应该能够对现在上载到您闪亮应用程序的数据执行任何操作。在下面的示例中,我仅使用
read.table()
然后在UI的两个数据表中显示数据。
## app.R ##
library(shiny)
library(shinydashboard)
# A minimal dashboard page
# Sidebar for file inputs
# Main body to show 2 datatables
ui <- dashboardPage(
dashboardHeader(title = "Two tables for further analysis"),
dashboardSidebar(
h2("fileInput() to upload files"),
fileInput("Table1", "Input file for train data"),
fileInput("Table2", "Input file for test data")
),
# A body for two datatables to show the data input
dashboardBody(
fluidPage(
fluidRow(
column(width=6,
DT::dataTableOutput("Train")),
column(width=6,
DT::dataTableOutput("Test"))
)
)
))
server <- function(input, output) {
output$Train <- DT::renderDataTable({
# NULL if no input given
if (is.null(input$Table1)) return(NULL)
# Else... read table (input$Table1 is a list of componenent - the 'datapath' field is the temp file location)
read.table(input$Table1$datapath) # Assuming you have a file to read with read.table()
})
# Using output$Test - we can use datatableOutput("Test") to show the datatable in the UI
output$Test <- DT::renderDataTable({
# NULL if no input given
#
if (is.null(input$Table2)) return(NULL)
# Else... read table (input$Table1 is a list of componenent - the 'datapath' field is the temp file location)
read.table(input$Table2$datapath) # Assuming you have a file to read with read.table()
})
# You can of course read the data for your own purpose
# Not for a datatable, but to do follow-up analysis
#
# Further, you can also upload .RData files for example - or any other file.
}
# Run the shiny app
shinyApp(ui, server)
下次请更具体一点,并举例说明您已经尝试过的内容。
我不知道您正在尝试使用什么类型的数据格式。。。希望这有帮助!