[问题] 关于双重循环

楼主: yashawnya (yashawnya)   2016-11-23 22:32:46
[问题类型]:
程式咨询(我想用R 做某件事情,但是我不知道要怎么用R 写出来)
[软件熟悉度]:
入门(写过其他程式,只是对语法不熟悉)
[问题描述]:
抱歉,刚学习R语言一个月还很菜,第一次上来发问,如果排版和问题叙述不好请多包涵

目前我有两个dataframe先称为a和b 两个dataframe的资料量不相同,但字段都一样有三

分别为经度、纬度、和一个计算的值
然后目标是用gdist(a$long,a$lat,b$long,b$lat,units = "km")
来计算a的所有点到b的所有点的分别距离
如果某个b点有距离某个a点大于10公里的就舍弃掉那个b点
现在我是使用双层循环来进行处理
想法大概如下
while(x<=a资料量){
y<-1
while(y<=b资料量){
if(a第x列和b第y列距离<=10)
保留b
y<-y+1
}
x<-x+1
}
但是只要a或是b的资料量大一点,速度就会非常慢
想请问版上大大有没有比较好的办法处理这方面的问题
作者: celestialgod (天)   2016-11-23 22:40:00
搭配gdist.total就可以很快算了吧给个范例资料,跟使用的套件,我再回一篇详细的

Links booklink

Contact Us: admin [ a t ] ucptt.com