Saya memiliki SpatialPointsDataFrame yang saya kerjakan di R. Saya ingin menambahkan vektor baru ke dataframe yang berisi, untuk setiap titik, jarak ke titik terdekat lainnya di SpatialPointsDataFrame. Saya telah melihat knearneigh dalam paket spdep dan juga spDistsN1 dan spDists dalam paket sp, tetapi tidak satu pun dari mereka memberikan apa yang saya inginkan. Agar jelas, semua poin ini adalah dalam ONE SpatialPointsDataFrame.
r
point
nearest-neighbor
sp
Amadou Kone
sumber
sumber
Jawaban:
Ada beberapa cara Anda bisa mengatasi ini di R, termasuk spDists di sp dan gDistance in rgeos. Cara efisien, yang dapat diperluas ke beberapa ID kNN dan jarak, adalah dengan menggunakan spdep.
Cara lain yang sangat cepat adalah paket nabor. Karena jarak dikembalikan bersama dengan ID tetangga Anda dapat menambahkan keduanya secara bersamaan. Fungsi nabor :: knn mengembalikan tetangga sendiri sehingga, Anda harus mengatur k ke> = 2 dan menjatuhkan kolom pertama dalam matriks yang dihasilkan. Satu keuntungan di sini adalah, selama matriks adalah dimensi yang sama, Anda bisa mendapatkan tetangga dari data yang sama atau independen.
sumber