mrs*_*uid 7 plot dictionary r ggplot2 ggmap
我正在尝试使用GGmap按州创建车辆撞车图。该地图将包含根据该州发生的车祸次数确定大小的点。
特别是,我试图重新创建此博客文章的可视化群集部分中所示的美国图解。。
但是,每当我尝试创建地图时,都会出现此错误。
Error in aperm.default(map, c(2, 1, 3)) :
invalid first argument, must be an array
Run Code Online (Sandbox Code Playgroud)
我已经设置了Google API,并看到它收到了点击数。我也启用了它并拥有密钥。
另外,我使用以下命令从github帐户安装了GGmap:
devtools::install_github("dkahle/ggmap", ref = "tidyup", force=TRUE)
Run Code Online (Sandbox Code Playgroud)
由于CRAN尚未更新。
我也重新启动并退出了R,但错误仍然存在。
即使我只是简单地运行:
get_map()
Run Code Online (Sandbox Code Playgroud)
它仍然导致错误:
Error in aperm.default(map, c(2, 1, 3)) :
invalid first argument, must be an array
Run Code Online (Sandbox Code Playgroud)
以下是我的代码,它类似于博客文章中的代码:
mydata$State <- as.character(mydata$State)
mydata$MV.Number = as.numeric(mydata$MV.Number)
mydata = mydata[mydata$State != "Alaska", ]
mydata = mydata[mydata$State != "Hawaii", ]
devtools::install_github("dkahle/ggmap", ref = "tidyup", force=TRUE)
library(ggmap)
ggmap::register_google(key = "...") #my key is here
for (i in 1:nrow(mydata)) {
latlon = geocode(mydata[i,1])
mydata$lon[i] = as.numeric(latlon[1])
mydata$lat[i] = as.numeric(latlon[2])
}
mv_num_collisions = data.frame(mydata$MV.Number, mydata$lon, mydata$lat)
colnames(mv_num_collisions) = c('collisions','lon','lat')
usa_center = as.numeric(geocode("United States"))
USAMap = ggmap(get_googlemap(center=usa_center, scale=2, zoom=4),
extent="normal")
USAMap +
geom_point(aes(x=lon, y=lat), data=mv_num_collisions, col="orange",
alpha=0.4, size=mv_num_collisions$collisions*circle_scale_amt) +
scale_size_continuous(range=range(mv_num_collisions$collisions))
Run Code Online (Sandbox Code Playgroud)
我希望在地图像输出这
但是我似乎无法通过此错误。
如果有人可以帮助,那就太好了。
如果您需要更多信息,请告诉我。
谢谢。