RDSファイルの読み込みによって値が設定されるドロップダウン選択ボックスが数多く含まれています。また、新しいデータをアップロードするためのfileInput関数も含まれています。新しいデータを反映するために、ドロップダウンボックスの値を変更するにはどうすればよいですか?現在、データはアップロードされていますが、古いデータはドロップダウンに残ります。fileInputを使用して新しいデータをアップロードした後、Shinyの 'selectInput'ドロップダウンリストを新しい値で更新しました
アップロードすべきデータが私のapp.Rファイルで
saveRDS(data.frame(names=c("Jill","Jane","Megan")),"myDataFrame.rds")
を使用してファイルに保存されて、私は最初のデータの「デフォルト」値を定義します。
myDataFrame <- data.frame(names=c("Tom","Dick","Harry"))
次のように私のapp.R
の内容は次のとおりです。
library(shiny)
ui <- shinyUI(
fluidPage(
fileInput('file1', 'Choose file to upload',accept = ".rds"),
selectInput("myNames","Names",myDataFrame$names),
tableOutput('contents')
)
)
server <- shinyServer(function(input, output) {
output$contents <- renderTable({
inFile <- input$file1
if (is.null(inFile)) { return(myDataFrame) }
readRDS(inFile$datapath)
})
})
アプリケーションの最初のビューがありますs expected:ドロップダウンと表の両方に「デフォルト」の名前が含まれています。新しいデータフレームを含むRDSファイルをアップロードすると、テーブルが変更されます(これは私が探していたものです)が、ドロップダウン値は変更されません。どのように私は後者を起こすことができますか?
いいえ(トンまだ)。ファイルのアップロードの前後に、ドロップダウンに1,2,3の数字が表示されます。 – janverkade
@janverkadeあなたは正確なコードと同じ 'myDataFrame'を使用していますか? data.framesを変更しましたか?私はこれと何か関係のある行番号を想像しています。 – PoGibas
はい - 自分のコードを自分のapp.Rにコピーしました。 – janverkade