1
我想創建一個Shiny Leaflet,它基於多個參數過濾數據集,並且只繪製用戶已選擇的那些點。除了一個關鍵部分,一切都有效:當我運行應用程序時,出現「錯誤:找不到數據點;請向addMarkers提供數據和/或lng/lat參數」消息。 編輯:即使在input$question1 == FALSE
時我也會收到此錯誤。這對我來說很有意義,因爲我沒有定義else
或繪圖的初始數據集,但它可能是相關的。R閃亮傳單錯誤:addMarkers沒有收到來自反應函數的點數據
這裏是dput
對dataset
一節:
dput(dataset[1:10,14:24])
structure(list(target.pops = structure(c(6L,
6L, 18L, 31L, 21L, 27L, 27L, 18L, 6L, 27L), .Label = c("DD Adult",
"DD Adult, DD Child", "DD Adult, DD Child, MH Adult", "DD Adult, DD Child,
MH Adult, MH Child",
"DD Adult, DD Child, MH Adult, MH Child, SA Adult", "DD Adult, DD Child, MH
Adult, MH Child, SA Adult, SA Child",
"DD Adult, DD Child, MH Adult, MH Child, SA Child", "DD Adult, DD Child, MH
Child",
"DD Adult, MH Adult", "DD Adult, MH Adult, MH Child", "DD Adult, MH Adult,
MH Child, SA Adult",
"DD Adult, MH Adult, MH Child, SA Adult, SA Child", "DD Adult, MH Adult, SA
Adult",
"DD Adult, MH Child", "DD Child, MH Adult, MH Child", "DD Child, MH Adult,
MH Child, SA Child",
"DD Child, MH Child", "DD Child, MH Child, SA Child", "DD Child, SA Child",
"MH Adult", "MH Adult, MH Child", "MH Adult, MH Child, SA Adult",
"MH Adult, MH Child, SA Adult, SA Child", "MH Adult, MH Child, SA Child",
"MH Adult, SA Adult", "MH Adult, SA Adult, SA Child", "MH Child",
"MH Child, SA Adult", "MH Child, SA Child", "SA Adult", "Unknown"
), class = "factor"),
col.data = c(1L, 1L, 1L, 9L, 1L, 1L, 1L,
1L, 1L, 1L),
adult = c(1L, 1L, 0L, 9L, 1L, 0L, 0L, 0L, 1L,
0L), dd = c(1L, 1L, 1L, 9L, 0L, 0L, 0L, 1L, 1L, 0L), mh = c(1L,
1L, 1L, 9L, 1L, 1L, 1L, 1L, 1L, 1L),
sa = c(1L, 1L, 1L, 9L,
0L, 0L, 0L, 1L, 1L, 0L),
outpt = c(0L, 0L, 0L, 0L, 1L, 0L,
1L, 0L, 0L, 0L), iw = c(1L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L,
0L), b3 = c(0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L)),
.Names = c("status", "service", "target.pops", "child", "adult", "dd", "mh",
"sa", "outpt", "iw", "b3"), row.names = c(NA, 10L), class = "data.frame")
這裏是我用來生成濾波值的活性功能和renderLeaflet代碼:
server <- function(input, output) {
points <- reactive ({
if (input$question1 == TRUE) {
filtered2 <- filter(dataset, col.data == 1)
select_(dataset, ~lng, ~lat)
}
})
output$map <- renderLeaflet({
leaflet(dataset) %>%
addTiles() %>%
setView(-77.33, 35.5881, 7)
addMarkers(points())
})
}
任何想法是什麼出錯了?預先感謝任何見解!
我們不知道'dataset'或'col.data'是什麼樣子。你可以'輸入',這樣我們就可以瞭解數據結構以更好地幫助? –
對不起,這是我第一次在這裏發表,所以我很欣賞指導。 'dataset'是幾種不同變量類型的數據框 - 它非常大,'dput'非常大。 'col.data'(以及所有被過濾的列)是一個整數列,其值爲1,0和9. – thepinkfreudian
你可能會在數據集上使用'dplyr :: sample_frac'而不會失去問題的完整性嗎?如果它與數據本身相關或者函數調用 –