我有具有重複緯度/長度的數據行,我想包含一個包含所有分組列數據的標籤。R小冊子地圖:在標籤彈出框中包含多行數據
# Make sample dataframe
long <- c(147.5, 147.5, 147.5, 147, 147)
lat <- c(-36.5, -36.5, -36.5, -36, -36)
label <- c(1, 1, 2, 1, 2)
markers <- data.frame(lat,long,label)
# Combine labels based on lat long
markers <- markers %>%
group_by(lat, long) %>%
summarize(concat_label = toString(label))
# Markers with all of the labels
leaflet() %>%
addTiles() %>%
addMarkers(lng=markers$long, lat= markers$lat,
popup= markers$concat_label
)
是否有toString的版本使用換行而不是逗號?我試圖使用粘貼和paste0,但無法使其工作。
有沒有辦法做到這一點沒有改變底層數據框的結構?我有很多經緯度,所以不想爲每個經緯度手動創建標籤。 – Erin
我的示例使用了您提供的示例數據框,但不需要爲每個經緯度手動創建標籤。 Leaflet的'addMarkers'逐行添加標記,因此可以輕鬆地爲每行生成單獨的標記和標籤 - 只需爲要串接的字符串使用變量即可。例如:假設你對每個觀測都有一個緯度/長度的變量,這些變量也描述了諸如'detail1','detail2','detail3'等的觀察結果,你可以按照上面的相同的方式將它們組合:'label < - 粘貼(sep =「
」,detail1, detail2,detail3)''。 – dshkol
另外,除非有特定原因需要重複座標,否則您應該對每個經緯座標進行一次觀察。我真的不明白你的問題的一部分。 – dshkol