The goal of hans is to make a fast dataframe compatible haversine function.
You can install the released version of hans from CRAN with:
install.packages("hans")
This is a basic example which shows you how to solve a common problem:
library(tibble) library(dplyr) library(magrittr) set.seed(42) lon1 <- runif(-160, -60, n = 1e6) lat1 <- runif(40, 60, n = 1e6) lon2 <- runif(-160, -60, n = 1e6) lat2 <- runif(40, 60, n = 1e6) df <- tibble::tibble(lat1, lon1, lat2, lon2) %>% mutate(hav = haversine(lat1, lon1, lat2, lon2))