r - 闪亮和 CSV 文件
问题描述
我对编程非常陌生,并且一直在观看有关如何通过 R Studio 构建闪亮应用程序的视频。
我正在努力寻找的一件事是我可以使用的简单代码,它要求 Shiny 选择一个位于我桌面上的 CSV 文件。
这可以实现还是我需要先将数据集加载到 R Studio 中?
我不确定我是否让自己感到困惑,应该只使用 read/fileInput 函数
所有帮助指南都显示此代码:
fileInput("file1", "Choose CSV File",
accept = c(
"text/csv")
那么我只是用自己的路径替换“text/csv”吗?
我对相互矛盾的信息感到非常困惑,希望有人可以用外行的方式为我解决这个问题
提前致谢
解决方案
试试这个并反馈。
library(shiny)
library(ggplot2)
#ui.R
ui <- fluidPage(
titlePanel("My shiny app"), sidebarLayout(
sidebarPanel(
helpText("This app shows how a user can upload a csv file. Then, plot the data.
Any file can be uploaded but analysis is only available
if the data is in same format as the sample file, downloadable below
"),
a("Data to be plotted", href="https://www.dropbox.com/s/t3q2eayogbe0bgl/shiny_data.csv?dl=0"),
tags$hr(),
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(
uiOutput("tb"),
plotOutput("line")
)
)
)
#server.R
server <- function(input,output){
data <- reactive({
file1 <- input$file
if(is.null(file1)){return()}
read.table(file=file1$datapath, sep=input$sep, header = input$header, stringsAsFactors = input$stringAsFactors)})
output$filedf <- renderTable({
if(is.null(data())){return ()}
input$file
})
output$sum <- renderTable({
if(is.null(data())){return ()}
summary(data())
})
output$table <- renderTable({
if(is.null(data())){return ()}
data()
})
output$line <- renderPlot({
if (is.null(data())) { return() }
print(ggplot(data(), aes(x=date, y=aa)) + geom_line()+ facet_wrap(~station)) })
output$tb <- renderUI({if(is.null(data()))
h5()
else
tabsetPanel(tabPanel("About file", tableOutput("filedf")),tabPanel("Data", tableOutput("table")),tabPanel("Summary", tableOutput("sum")))
})
}
shinyApp(ui = ui, server = server)
推荐阅读
- clickhouse - 如何将 users.xml 从只读更改?
- javascript - 有没有办法让某些 for 循环迭代不同?
- scim - 如何处理 SCIM 中组资源的 PUT?会员怎么办?
- c# - 如何按字母顺序对 csv 文件进行排序,以及如何在控制台中使用我的代码不显示“隐藏”文件
- r - 在拼凑的图形中对齐 ggplot 方面
- javascript - 原型链无法检索 Function.prototype 中的属性集
- c - 在c中对链表一一排序
- node.js - 通过 API 网关安全路由的 ECS 容器未返回,但容器的运行状况检查良好
- asp.net-mvc - 错误 ASPCONFIG:无法打开 configSource 文件
- sql - 如何组合来自 2 个表的数据——哪个联接,什么条件?