Re: [問題] 如何在座標上抓出特定範圍的資料

看板R_Language作者 (天)時間10年前 (2015/10/30 23:07), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/3 (看更多)
示例如下,自行延伸: library(pracma) # circle circleFunc = function(r, x0 = 0, y0 = 0, n.split = 1000){ cbind(r*cos(seq(0, 2*pi, length.out = n.split)) + x0, r*sin(seq(0, 2*pi, length.out = n.split)) + y0) } squreArea = matrix(runif(1000), 100) circlePoints = circleFunc(0.5, 0.5, 0.5) inCicle = inpolygon(squreArea[,1], squreArea[,2], circlePoints[,1], circlePoints[,2]) plot(squreArea[,1], squreArea[,2], xlim = c(0,1), ylim = c(0,1), xlab = "x", ylab = "y") lines(circlePoints[,1], circlePoints[,2], col = "blue") points(squreArea[inCicle,1], squreArea[inCicle,2], col = "red") http://i.imgur.com/H1vyxBa.png
我之前是365萬個點,是用Rcpp逐點處理的 (距離矩陣要開滿大的滿麻煩的) 如果點不多的話,用inpolygon很快XD ※ 引述《allen63521 (GoGoPadres)》之銘言: : [問題類型]: : 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) : [軟體熟悉度]: : 新手(沒寫過程式,R 是我的第一次) : [問題敘述]: 想要分析位在某些目標附近的資料 : 手上有一筆關於不動產成交的資料,內容包含成交價格、坪數、該房屋位置的橫、縱座標 : 我想要用散佈圖把所有data的橫、縱座標在平面座標上排出來,並且把幾個目標定位在座標上,去討論這幾個目標附近(可能是一個圓或是矩形範圍內)的房屋成交價 : 目前的想法是: : 如果想討論的範圍是圓,可以對"該目標跟所有data"去算點和點之間的距離 : 再從所有算出來的距離中挑比較近(抓某個比例)的那些房子出來觀察 : 但這個方法在目標不只有一個的時候可能就會變得比較麻煩,因為要把"每個目標"和"每棟房子"的組合都算過 : 想要請問有沒有可能做到: : 以每個目標為圓心,設定一個圓(先不考慮怎麼決定半徑大小),讓系統去判定有哪些房子是落在這些範圍裡面的,就可以直接把他們抓出來看 : [關鍵字]: : 範圍內的資料 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.218.154.163 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1446217622.A.D0E.html

10/31 12:05, , 1F
感謝回覆,我先摸摸看好了
10/31 12:05, 1F
文章代碼(AID): #1MCuUMqE (R_Language)
文章代碼(AID): #1MCuUMqE (R_Language)