У меня есть более 1000 строк данных по широте / длине для разных сообществ в США в таблице данных.Некоторые из этих сообществ являются конкурентами, а другие наши.Каждое из этих сообществ имеет несколько единиц (квартир).Есть много случаев, когда несколько сообществ находятся в пределах 3 миль друг от друга.Я ищу способ сделать следующее: 1) определить, находится ли каждый из сайтов в радиусе 3 миль от ВСЕХ других сайтов, ТО 2) суммировать столбец «единицы» сайтов, которые попадают в этот радиус в 3 мили.Я хотел бы, чтобы два столбца были добавлены в таблицу данных ... первый столбец называется "количество сайтов", а второй - "количество единиц"
У меня уже был написан код для проверки, чтобы увидеть, есть ли другие широты и долготы.упал в радиусе 3 миль друг от друга, но это насколько я понял.
main_df имеет более 400 столбцов.Чтобы упростить это, я перерисовал, чтобы показать только необходимые столбцы ..
colnames (main_df) Результат: Lat, Lon, Units
Таким образом, код для использования в этом вопросе будет
main_df<-cbind(main_df, X=((X=rowSums(distm (main_df[,2:1],
fun = distHaversine) / 1000<= 4.828032)/3)-1))
Как упоминалось ранее, я ожидаю, что в результате мы добавим два дополнительных столбца в main_df.colnames (main_df) Результат: Lat, Lon, Units, количество сайтов, количество единиц
Так вроде как ...
Lat Lon Units #of Sites #of Units
40.06127 -86.05604 80 2 184
41.15241 -85.12709 123 3 262
42.91640 -83.62937 125 1 200
39.67114 -86.07211 59 0 0
41.24905 -81.83060 200 4 387