Learn R Programming

MCI (version 1.2.0)

mci.transvar: Log-centering transformation of one variable in an MCI interaction matrix

Description

This function applies the log-centering transformation to a variable in a given MCI interaction matrix.

Usage

mci.transvar(mcidataset, submarkets, suppliers, mcivariable, output_ij = FALSE, output_var = "numeric", show_proc = FALSE, check_df = TRUE)

Arguments

mcidataset
an interaction matrix which is a data.frame containing the submarkets, suppliers and the regarded variables (e.g. the observed market shares, $p_{ij}$, and the explanatory variables)
submarkets
the column in the interaction matrix mcidataset containing the submarkets
suppliers
the column in the interaction matrix mcidataset containing the suppliers
mcivariable
the column of the variable to be transformed, numeric and positive (or dummy [1,0])
output_ij
logical argument that indicates if the function output has to be a data.frame with three columns (submarkets, suppliers, transformed variable) or a vector only with the transformed values (default is output_ij = FALSE)
output_var
defines the mode of the function output if output_ij = FALSE (default is output_var = "numeric", otherwise "list")
show_proc
logical argument that indicates if the function prints messages about the state of process during the work (e.g. “Processing variable xyz ...” or “Variable xyz is regarded as dummy variable”). Default: show_proc = FALSE (messages off)
check_df
logical argument that indicates if the input (dataset, column names) is checked (default: check_df = TRUE (should not be changed, only for internal use))

Value

The format of the output can be controlled by the last two arguments of the function (see above). Either a new data.frame with the transformed input variable and the submarkets/suppliers or a vector with the transformed values only. The name of the input variable is passed to the new data.frame marked with a "_t" to indicate that it was transformed (e.g. "shares_t" is the transformation of "shares").

Details

The regarded variable in the input dataset is transformed to regression-ready data with the log-centering transformation by Nakanishi/Cooper (1974) (to transform a complete interaction matrix, use mci.transmat(), for transformation and fitting use mci.fit()). The log-centering transformation can be regarded as the key concept of the MCI model because it enables the model to be estimated by OLS (ordinary least squares) regression. The function identifies dummy variables which are not transformed (because they do not have to be).

References

Huff, D. L./Batsell, R. R. (1975): “Conceptual and Operational Problems with Market Share Models of Consumer Spatial Behavior”. In: Advances in Consumer Research, 2, p. 165-172.

Huff, D. L./McCallum, D. (2008): “Calibrating the Huff Model Using ArcGIS Business Analyst”. ESRI White Paper, September 2008. https://www.esri.com/library/whitepapers/pdfs/calibrating-huff-model.pdf

Nakanishi, M./Cooper, L. G. (1974): “Parameter Estimation for a Multiplicative Competitive Interaction Model - Least Squares Approach”. In: Journal of Marketing Research, 11, 3, p. 303-311.

Wieland, T. (2013): “Einkaufsstaettenwahl, Einzelhandelscluster und raeumliche Versorgungsdisparitaeten - Modellierung von Marktgebieten im Einzelhandel unter Beruecksichtigung von Agglomerationseffekten”. In: Schrenk, M./Popovich, V./Zeile, P./Elisei, P. (eds.): REAL CORP 2013. Planning Times. Proceedings of 18th International Conference on Urban Planning, Regional Development and Information Society. Schwechat. p. 275-284. http://www.corp.at/archive/CORP2013_98.pdf

Wieland, T. (2015): “Raeumliches Einkaufsverhalten und Standortpolitik im Einzelhandel unter Beruecksichtigung von Agglomerationseffekten. Theoretische Erklaerungsansaetze, modellanalytische Zugaenge und eine empirisch-oekonometrische Marktgebietsanalyse anhand eines Fallbeispiels aus dem laendlichen Raum Ostwestfalens/Suedniedersachsens”. Geographische Handelsforschung, 23. 289 pages. Mannheim : MetaGIS.

See Also

mci.fit, mci.transmat

Examples

Run this code
data(ce)
# Loads the data

mci.transvar (ce, "origin_code", "store_code", "ms_obs", output_ij=TRUE)
# Output: submarkets (origins), store codes and transformations of "ms_obs"

mci.transvar (ce, "origin_code", "store_code", "ms_obs")
# Output: a numeric vector containing the transformated values of "ms_obs"

transf_mcivar <- mci.transvar (ce, "origin_code", "store_code", "ms_obs", output_ij=TRUE)
# Save in a new data frame called "transf_mcivar"

Run the code above in your browser using DataLab