【发布时间】:2017-06-22 08:44:36
【问题描述】:
这是按经度和纬度划分的位置数据框。
library(data.table)
a1=seq(10,60,1);a2=seq(70,140,1)
a3=lapply(a1,function(i){res=data.table(i,a2)})
pretb=rbindlist(a3,fill=T);
我想通过以下代码确认中国范围内的每个点。
运行后,发现完全用了将近40分钟才得到结果。
library(maps)
> Sys.time()
[1] "2017-06-23 12:54:12 CST"
> bb=apply(pretb,1,function(ce){
+ aa=map.where(database="world", ce[3], ce[2])
+ })
> bb
> Sys.time()
[1] "2017-06-23 13:35:56 CST"
其实,不能用这么长的时间来执行代码。有没有什么快速的方法可以让判断或者其他更好的功能或者包更高效?
【问题讨论】:
-
你在哪里使用最新版的地图包?在上次更新 v3.2(2017 年 6 月 8 日)中,map.where() 的速度大大提高了。
标签: r ggplot2 geolocation maps gis