Có cách nào để thực hiện thanh trượt thời gian cho Leaflet hoặc bất kỳ thư viện bản đồ tương tác nào khác trong R không? Tôi có dữ liệu được sắp xếp theo chuỗi thời gian và muốn tích hợp nó vào bản đồ "chuyển động", nơi các điểm âm mưu thay đổi theo thời gian.R: Bản đồ với Thanh trượt thời gian?
Tôi đã nghĩ đến việc chia nhỏ dữ liệu thành nhiều phần, sử dụng tập con để nắm bắt bảng dữ liệu tương ứng cho mỗi tháng. Nhưng làm cách nào tôi di chuyển giữa các tập dữ liệu khác nhau tương ứng với các tháng khác nhau?
Hiện tại, tôi lấy điểm trung bình và vẽ các điểm đó, nhưng tôi muốn tạo bản đồ tích hợp chuỗi thời gian.
Đây là mã của tôi cho đến nay:
data<-read.csv("Stericycle Waste Data.csv")
library(reshape2)
library(ggplot2)
library(plyr)
library(ggmap)
names(data)<-c("ID1","ID2", "Site.Address", "Type", "City", "Province", "Category", "Density", "Nov-14", "Dec-14", "Jan-15", "Feb-15", "Mar-15", "Apr-15", "May-15", "Jun-15", "Jul-15", "Aug-15", "Sep-15", "Oct-15", "Nov-15", "Dec-15", "Jan-16")
data<-melt(data, c("ID1","ID2", "Site.Address","Type", "City", "Province", "Category", "Density"))
data<-na.omit(data)
data_grouped<-ddply(data, c("Site.Address", "Type","City", "Province", "Category", "Density", "variable"), summarise, value=sum(value))
names(data_grouped)<-c("Site.Address", "Type", "City", "Province", "Category", "Density", "Month", 'Waste.Mass')
dummy<-read.csv('locations-coordinates.csv')
geodata<-merge(data_grouped, dummy, by.x="Site.Address", by.y="Site.Address", all.y=TRUE)
library(leaflet)
d = geodata_avg$density_factor
d = factor(d)
cols <- rainbow(length(levels(d)), alpha=NULL)
geodata_avg$colors <- cols[unclass(d)]
newmap <- leaflet(data=geodata_avg) %>% addTiles() %>%
addCircleMarkers(lng = ~lon, lat = ~lat, weight = 1, radius = ~rank*1.1, color = ~colors, popup = paste("Site Address: ", geodata_avg$Site.Address, "<br>", "Category: ", geodata_avg$Category, "<br>", "Average Waste: ", geodata_avg$value))
newmap
Cảm ơn trước! Bất kỳ hướng dẫn/hiểu biết nào sẽ được đánh giá cao.
đây là một ý tưởng, vì bạn đã đề xuất bạn có thể chia tập dữ liệu theo tháng và thêm các tập hợp con này làm lớp trên bản đồ của bạn (https://rstudio.github.io /leaflet/showhide.html); sau đó bạn có thể nhấp/bỏ lớp mà bạn muốn hiển thị – MLavoie
Có một ví dụ tại đây (http://dwilhelm89.github.io/LeafletSlider/). Thanh trượt nằm ở góc trên cùng bên phải của bản đồ. (Nó không phải là một thực hiện R mặc dù ...) – jbaums
Cảm ơn. Tôi thực sự thích những ý tưởng! Tôi sẽ thử sử dụng gợi ý lớp. Tôi thích thanh trượt thời gian hơn, nhưng tôi nghĩ đó là một ứng dụng java, thật đáng buồn là không có trong lĩnh vực kiến thức của tôi. –