私は.csv
ファイルをアップロードしていくつかの自動計算を実行できるアプリ(これは削除されたバージョンです)を開発しています(この場合、 r.squared
値)。複数のスプレッドシートが多数存在するので(それぞれはすべて一意の名前を持つことができます)、r.squared
の値をすべて1つのサマリーテーブル(2番目のタブ)に保存できるかどうかは疑問でした。その後、すべてのファイルを介して行ってきた後、単一.csv
のファイルとしてエクスポートすることができます(私はこの最後の部分を行うためのアクションボタンに慣れていRの光沢のあるデータ出力を永続的に保存
私は2つのワークフローオプションがあります。(
- 複数のファイルをまたはフォルダを一度にロードできます)
- 各ファイルは個別にロードされます
ui.R
library(shiny)
ui <- fluidPage(
navbarPage("Menu",inverse=TRUE,fluid=TRUE,collapsible=TRUE,selected = "Data input",
tabPanel("Data input",
sidebarLayout(
sidebarPanel(
fileInput('file1', 'Choose CSV File',
accept=c('text/csv',
'text/comma-separated-values,text/plain',
'.csv')),
tags$hr(),
checkboxInput('header', 'Header', TRUE),
radioButtons('sep', 'Separator',
c(Comma=',',
Semicolon=';',
Tab='\t'),
','),
radioButtons('quote', 'Quote',
c(None='',
'Double Quote'='"',
'Single Quote'="'"),
'"')
),
mainPanel(
tableOutput('contents')
)
)),
tabPanel("Summary",fluidRow(
column(6,
tableOutput("summary"))))
))
server.R
server <- function(input, output) {
mydata<-reactive({
inFile <- input$file1
if (is.null(inFile))
return(NULL)
data<-read.csv(inFile$datapath, header=input$header, sep=input$sep,
quote=input$quote)
data
})
output$contents <- renderTable({
mydata()
})
output$summary <- renderTable({
m<-lm(mydata()[,1]~mydata()[,2])
summary(m)$r.squared
})
}
shinyApp(ui, server)
おそらく、グローバル変数http://shiny.rstudio.com/articles/scoping.htmlが必要です。 –