Saya memiliki daftar posisi dan saya ingin mengetahui jarak antara titik terdekat. Saya mencoba menggunakan distCosine() tetapi ada masalah. Inilah yang saya lakukan:
data saya, diurutkan berdasarkan lat
structure(list(lat = c(53.56478, 53.919724, 54.109047, 54.109047, 54.36612, 55.48143, 56.2335, 56.682796, 56.93616, 57.804092, 58.82089, 59.297623, 59.335075, 59.907795, 60.125046, 60.274445, 60.289204, 60.386665, 60.591167, 64.68329), long = c(14.585611, 14.286517, 13.807847, 13.807847, 10.997632, 18.182697, 16.454927, 16.564703, 18.221214, 23.258204, 17.84381, 18.172949, 18.126884, 23.217615, 20.65724, 26.44062, 27.189545, 19.847534, 28.5585, 24.534185)), .Names = c("lat", "long"), row.names = c(2L, 3L, 6L, 11L, 1L, 17L, 15L, 20L, 13L, 19L, 7L, 14L, 4L, 5L, 10L, 12L, 18L, 9L, 8L, 16L), class = "data.frame")
Saya mencoba menggunakan distCosine() setelah diskusi lain tentang stackoverflow untuk memasukkan jarak dari lintang terdekat ke dalam kolom baru (inilah sebabnya saya mengurutkan berdasarkan lintang):
data$a‹-outer(seq(nrow(data)), seq(nrow(data)), Vektorisasi(fungsi(i, j) distCosine(data[1,], data[2,])) )
Hasilnya tidak berhasil... Ini bukan jarak setiap titik...
apakah ada cara yang lebih mudah untuk menggunakan distCosine untuk permintaan saya?