Я дилетант, когда дело доходит до кодирования R.Я пытаюсь запустить следующий код для одной из задач.Моя основная цель состоит в том, чтобы подсчитать количество достопримечательностей в пределах 2 км от определенного местоположения, и достопримечательности, и местоположения определяются соответствующей долготой и широтой.Количество записей в основном наборе данных составляет около 29 КБ, а количество аттракционов - 28. Как я могу вместо этого преобразовать следующий код в более эффективный R-код (текущий действительно грубый и не очень хорошая практика)
for(i in 1:nrow(mainData)) {
attr_count[i] = 0
loc_coord = c(mainData$longitude[i],mainData$latitude[i])
for(j in 1:nrow(ny_attractions)) {
attr_coord = c(ny_attractions$lon[j],ny_attractions$lat[j])
dist = distVincentySphere(attr_coord,loc_coord)
if(dist <= 2000) {
attr_count[i] = attr_count[i] + 1
}
}
}
[РЕДАКТИРОВАТЬ]: Мои извинения за то, что я не сформулировал это раньше.Вот пример того, чего я пытаюсь достичь.У меня есть 2 набора данных -
Набор данных - 1 (NYC_attractions) (27 записей)
введите описание изображения здесь
Набор данных-2 (основные данные для списков домов) (29 тыс. Записей) введите описание изображения здесь
Теперь мне нужно добавить еще один столбец (num_of_attractions) в наборе данных-2, представляющий количество достопримечательностей в пределах 2 км от указанного списка (т.е. для каждой записи в наборе данных-2)
Надеюсь, это объясняет проблему
Спасибо