fixed_effects
estimates gravity models via
OLS and fixed effects for the countries of origin and destination.
fixed_effects(
dependent_variable,
distance,
additional_regressors = NULL,
code_origin,
code_destination,
robust = FALSE,
data,
...
)
The function returns the summary of the estimated gravity model as an
lm
-object.
(Type: character) name of the dependent variable. This variable is logged and then used as the dependent variable in the estimation.
(Type: character) name of the distance variable that should be taken as the key independent variable in the estimation. The distance is logged automatically when the function is executed.
(Type: character) names of the additional regressors to include in the model (e.g. a dummy variable to indicate contiguity). Unilateral metric variables such as GDPs can be added but those variables have to be logged first.
Write this argument as c(contiguity, common currency, ...)
. By default this is set to NULL
.
(Type: character) country of origin variable (e.g. ISO-3 country codes). The variables are grouped using this parameter.
(Type: character) country of destination variable (e.g. country ISO-3 codes). The variables are grouped using this parameter.
(Type: logical) whether robust fitting should be used. By default this is set to FALSE
.
(Type: data.frame) the dataset to be used.
Additional arguments to be passed to the function.
To account for MR terms, Feenstra2002;textualgravity and Feenstra2004;textualgravity propose to use importer and exporter fixed effects. Due to the use of these effects, all unilateral influences such as GDPs can no longer be estimated.
A disadvantage of the use of fixed_effects
is that, when applied to
panel data, the number of country-year or country-pair fixed effects can be
too high for estimation. In addition, no comparative statistics are
possible with fixed_effects
as the Multilateral Resistance terms are not estimated
explicitly. Nevertheless, Head2014;textualgravity highlight the importance of
the use of fixed effects.
By including country specific fixed effects, all monadic effects are captured, including Multilateral Resistance terms. Therefore, no other unilateral variables such as GDP can be included as independent variables in the estimation.
fixed_effects
estimation can be used for both, cross-sectional as well as
panel data.
Nonetheless, the function is designed to be consistent with the Stata code for cross-sectional data provided at the website Gravity Equations: Workhorse, Toolkit, and Cookbook when choosing robust estimation.
The function fixed_effects
was therefore tested for
cross-sectional data. Its up to the user to ensure that the functions can be applied
to panel data.
Also, note that by including bilateral fixed effects such as country-pair effects, the coefficients of time-invariant observables such as distance can no longer be estimated.
Depending on the specific model, the code of the respective function might have to be changed in order to exclude the distance variable from the estimation.
At the very least, the user should take special care with respect to the meaning of the estimated coefficients and variances as well as the decision about which effects to include in the estimation.
When using panel data, the parameter and variance estimation of the models may have to be changed accordingly.
For a comprehensive overview of gravity models for panel data see Egger2003;textualgravity, Gomez-Herrera2013;textualgravity and Head2010;textualgravity as well as the references therein.
For more information on gravity models, theoretical foundations and estimation methods in general see
Anderson1979gravity
Anderson2001gravity
Anderson2010gravity
Baier2009gravity
Baier2010gravity
Feenstra2002gravity
Head2010gravity
Head2014gravity
Santos2006gravity
and the citations therein.
See Gravity Equations: Workhorse, Toolkit, and Cookbook for gravity datasets and Stata code for estimating gravity models.
For estimating gravity equations using panel data see
Egger2003gravity
Gomez-Herrera2013gravity
and the references therein.
lm
, coeftest
,
vcovHC
# Example for CRAN checks:
# Executable in < 5 sec
library(dplyr)
data("gravity_no_zeros")
# Choose 5 countries for testing
countries_chosen <- c("AUS", "CHN", "GBR", "BRA", "CAN")
grav_small <- filter(gravity_no_zeros, iso_o %in% countries_chosen)
fit <- fixed_effects(
dependent_variable = "flow",
distance = "distw",
additional_regressors = c("rta", "comcur", "contig"),
code_origin = "iso_o",
code_destination = "iso_d",
robust = FALSE,
data = grav_small
)
Run the code above in your browser using DataLab