[問題] 關於雙重迴圈

看板R_Language作者 (yashawnya)時間9年前 (2016/11/23 22:32), 9年前編輯推噓0(002)
留言2則, 1人參與, 最新討論串1/1
[問題類型]: 程式諮詢(我想用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的資料量大一點,速度就會非常慢 想請問版上大大有沒有比較好的辦法處理這方面的問題 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.150.150.3 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1479911568.A.F76.html

11/23 22:40, , 1F
搭配gdist.total就可以很快算了吧
11/23 22:40, 1F

11/23 22:40, , 2F
給個範例資料,跟使用的套件,我再回一篇詳細的
11/23 22:40, 2F
已站內信資料,感謝大大 ※ 編輯: yashawnya (118.150.150.3), 11/23/2016 23:07:21
文章代碼(AID): #1ODQYGzs (R_Language)
文章代碼(AID): #1ODQYGzs (R_Language)