いくつかの入力ファイルにはn列の座標が含まれています。入力ファイルの列数を選択する方法で、選択入力パネルをどのようにデザインできますか? たとえば、座標の5つのファイルを持つzipfileを読んだら、出力では、ファイル1またはファイル2の座標に関連するマップを表示するとか...これは、選択した入力パネルに5オプションを表示する必要があることを意味します。 100ファイルのzipファイルを読んだ場合、100個の選択肢をドロップダウンしたいと思っています! どうすればいいですか?私はthis exampleをチェックしましたが、それをどのように適応させるべきかわかりません!Shiny:選択入力の値を変更する
ここに私のコードの例があります。残念ながら、それは再現できないのですが、理解しやすいように複雑さを軽減:反応性機能で
ui <- fluidPage(
fileInput("File","upload your file"),
selectInput("Select1", "Select input",c())
mainPanel(tags$head(tags$style(type="text/css", ".tab-content {overflow: visible;}")),
leafletOutput("mymap"))
)
server <- function(input, output, session) {
coor <- reactive({infile=input$File
if (is.null(infile))
return(NULL)
temp_files <- unzip(infile$datapath)
T=length(temp_files)
A_new=c();for(i in 1:T){A_new[[i]]=c()}
for(i in 1:T){
.
.
.
A_new[[i]]= ...
}
result <- list(A_new=A_new,T=T);
return(result);
})
observe({
x <- input$File
if (is.null(x))
x <- character(0)
map=coor()
updateSelectInput(session, "Select1",
label = paste("Select input label", map$T),
choices = map$A_new,
selected = tail(map$A_new, 1)
)
})
}
output$mymap <- renderLeaflet({
infile=input$File
if (is.null(infile))
return(NULL)
a2=coor()
leaflet() %>%
addProviderTiles("OpenTopoMap", group = "MapQuestOpen.Aerial") %>%
addMarkers(data =a2$A_new[[1]],~long, ~lat, popup = ~as.character(mag), label = ~as.character(Name))%>%
addMeasure()
})
私は私のファイルを読んで、計算を行うとこのようになります私のA_new[[i]]
ファイル取得:
A_new[[1]]
long lat mag
1 60.20424 34.61457 1100.0
2 60.20739 34.61155 1098.3
3 60.21058 34.60852 1099.7
4 60.21382 34.60544 1100.5
5 60.21700 34.60239 1100.0
6 60.22039 34.59930 1102.7
7 60.22388 34.59596 1103.0
8 60.22743 34.59245 1101.3
9 60.20323 34.60650 1080.0
10 60.20653 34.60346 1080.0
11 60.20966 34.60040 1080.8
12 60.21277 34.59748 1082.7
13 60.21590 34.59462 1084.1
14 60.21890 34.59161 1083.1
を私は選択入力にA_new [[i]]を持っていて、次にoutput$mymap
に に関連するマップを返します。 マップ出力で選択入力オプションを設計できなかったので、最初にA_new[[i]]
が表示されますA_new[[1]]
問題は何ですか?あなたに問題を与えているコードを表示してください。可能であれば再現可能。 –
@RomanLuštrik説明とサンプルコードを入れました –