Interpolate population/inverse-distance-weighted measures for each x coordinate using measures taken at surrounding y coordinates. Ending measures are double weighted by population and distance so that surrounding measures taken in nearby areas and those with greater populations are given more weight in final average.

popdist_weighted_mean(x_df, y_df, measure_col, x_id = "id",
  x_lon_col = "lon", x_lat_col = "lat", y_lon_col = "lon",
  y_lat_col = "lat", pop_col = "pop", dist_function = "Haversine",
  dist_transform = "level", decay = 2)

Arguments

x_df

DataFrame with coordinates that need weighted measures

y_df

DataFrame with coordinates at which measures were taken

measure_col

String name of measure column in y_df

x_id

String name of unique identifer column in x_df

x_lon_col

String name of column in x_df with longitude values

x_lat_col

String name of column in x_df with latitude values

y_lon_col

String name of column in y_df with longitude values

y_lat_col

String name of column in y_df with latitude values

pop_col

String name of column in x_df with population values

dist_function

String name of distance function: "Haversine" (default) or "Vincenty"

dist_transform

String value of distance weight transform: "level" (default) or "log"

decay

Numeric value of distance weight decay: 2 (default)

Value

Dataframe of population/distance-weighted values