huff.attrac(huffdataset, origins, locations, attrac, dist,
lambda = -2, dtype = "pow", lambda2 = NULL,
localmarket_dataset, localmarket,
location_dataset, location_id, location_total,
tolerance = 5, output = "matrix", show_proc = FALSE,
check_df = TRUE)data.frame containing the origins, locations and the explanatory variables (attractivity, transport costs)
huffdataset containing the origins (e.g. ZIP codes)
huffdataset containing the locations (e.g. store codes)
huffdataset containing the attractivity variable (e.g. sales area)
huffdataset containing the transport costs (e.g. travelling time or street distance)
dtype = "pow" (power function), dtype = "exp" (exponential function) or dtype = "logistic" (default: dtype = "pow")
dtype = "logistic" a second $\lambda$ parameter is needed
data.frame containing the origins saved in a column which has the same name as in huffdataset and another column containing the local market potential
localmarket_dataset containing the local market potential (e.g. purchasing power, number of customers)
data.frame containing the suppliers/locations and their observed total values
location_dataset containing the locations (e.g. store codes), $j$, according to the codes in huffdataset
location_dataset containing the observed total values of suppliers/locations, $T_{j,obs}$ (e.g. annual sales, total number of customers)
output = "matrix" returns a Huff interaction matrix with the optimized attractivity values and the expected market shares/market areas. If output = "total", the old (observed) and the new (expected) total values are returned. If output = "total", the optimized attractivity values are returned.
show_proc = FALSE (messages off)
TRUE)
output. If output = "matrix" the function returns a Huff interaction matrix with the optimized attractivity values and the expected market shares/market areas. If output = "total", the old (observed) and the new (expected) total values are returned. If output = "attrac", the optimized attractivity values are returned. All results are data.frame.
mci.fit(), mci.transmat() and mci.transvar()). In many cases, only total empirical values of the suppliers/locations can be used for fitting the model. This function fits the Huff model not by estimating the parameters but by optimizing the attractivity variable (transport cost weighting by $\lambda$ is given) using a modified version of the local optimization of attractivity algorithm developed by Guessefeldt (2002). This function consists of a single optimization of every supplier/location. Note that the best results can be achieved by repeating the algorithm while evaluating the results (see the function huff.fit(), which extends this algorithm to a given number of iterations).
Wieland, T. (2015): Nahversorgung im Kontext raumoekonomischer Entwicklungen im Lebensmitteleinzelhandel - Konzeption und Durchfuehrung einer GIS-gestuetzten Analyse der Strukturen des Lebensmitteleinzelhandels und der Nahversorgung in Freiburg im Breisgau. Projektbericht. Goettingen : GOEDOC, Dokumenten- und Publikationsserver der Georg-August-Universitaet Goettingen. http://webdoc.sub.gwdg.de/pub/mon/2015/5-wieland.pdf
huff.fit, huff.shares, huff.decaydata(Freiburg1)
data(Freiburg2)
data(Freiburg3)
# Loading the three Freiburg datasets
# NOTE: This may take a while!
# huff.attrac(Freiburg1, "district", "store", "salesarea", "distance", lambda = -2, dtype= "pow",
# lambda2 = NULL, Freiburg2, "ppower", Freiburg3, "store", "annualsales", tolerance = 5,
# output = "total")
# Local optimization of store attractivity using the function huff.attrac()
# returns a data frame with total values (observed and expected after optimization)
Run the code above in your browser using DataLab