Fix issue #3, "warning: a function declaration without a prototype is deprecated in all versions of C", fixed by @pachadotdev
Internal change in code indentation
Rename Crowsum to crowsum @pachadotdev
Adapt code for changes in R 4.2 USE_FC_LEN_T, fixed by @pachadotdev
Adapt code for changes in R 4.1 and SET_REFCNT, revert previous commit, as suggested by @SebKrantz on Issue https://github.com/sgaure/lfe/issues/49
Package is un-archived from CRAN and temporarily adopted by Matthieu Stigler.
Use now doi function
CRAN request: do not use 'dontrun' or 'donttest'
CRAN request: remove <<-
CRAN request: reset options to defaults
CRAN request: use at most 2 cores in examples tests etc
Change code in waldtest.R to be more robust to variable ordering with multi-way clustering, as suggested by @grantmcdermott
Accept Pull request "Catch duplicate (false) reference levels for interacted FEs" @grantmcdermott
Fix a sprintf issue, apparently
sprintf('%.8e', 1) is not legal in future R -devel.
Backport changes by CRAN maintainers (2.8.5-1): remove
Backport changes by CRAN maintainers (2.8.5-1): delete file
Fix a few typos with
Added an internal
devtools_internal.R with few testing calls.
Corrected the vignette about estimable functions. The
change in the
base::sample() function made the examples meaningless, and I
forgot to fix it in 2.8-3.
Support for nested clusters and reghdfe-option by Grant McDermott and Karl Dunkle Werner.
Changed some extern declarations in the C-code to comply with standards enforced by the upcoming gcc10.
Changed inner workings of the
demeanlist() functions so they
still conserve some memory with the new reference count machinery.
Fixed a bug in Crowsum which prevented computation of clustered standard errors in large datasets (rows x covariates exceeds 2 billion). Thanks to mcmalone for the report.
Minor updates to documentation and some cosmetic code changes.
Updates to configure.ac at the request of Brian Ripley
Updates to tests to reflect the new uniform
summary.felm now defaults to robust errors if
getOption(lfe.robust=TRUE). As with the other options, lfe.robust is
initialized from the environment variable LFE_ROBUST upon load.
A felm-object now works as expected with
A felm-object now works as expected with
Added functionality for closed form standard errors on the fixed effects if standard normal and only one fixed effect.
na.rm argument to
demeanlist to remove
rows with NAs in the input data prior to centering. Previously these were silently set to 0.
A bug in the negative Eigenvalue adjustment for multiway clustering has been fixed.
Dependence on package R2Cuba has been removed because that package is orphaned and will be removed from CRAN.
If running with robust or clustered standard errors,
getfe now adds a column 'se' which is a copy of the
'clusteredse' or 'robustse'. This to ensure compatibility with package
Added a routine
sargan() to compute Sargan's S.
demeanlist() will now do the transformation in place if
given an unnamed input. This saves memory in various other places.
Multiway clustered standard errors now incorporate the negative
Eigenvalue adjustment of Cameron, Gelbach, Miller. I.e. they are
forced to zero. Can be switched off by
Fixed a bug in
btrap which could yield wrong bootstrapped standard
nlexpect() has been added to integrate
functions of estimated coefficients over the residual distribution.
waldtest() now supports non-linear restrictions with the Delta-method.
A bug in bias correction with clustered errors has been fixed.
A bug in the handling of expressions f:g with two factors has been fixed.
estfun.felm has been introduced to improve
interoperability with the package multiwayvcov. Also a function
weights.felm has been introduced.
A bug in
residuals.felm has been fixed.
felm now supports bootstrapping an arbitrary expression
involving estimated coefficients. This can also be done by repeated
felm, but the builtin functionality avoids repeated
model.matrix which can be quite
time-consuming for large datasets.
felm now has some support for
"pdata.frame"s from package plm.
In particular, it is now possible to use things like
felm(y ~ x+
lag(wage), data=pdata) where
pdata is a
A bug preventing the use of k-class estimators has been fixed.
A bug leading to wrong robust standard errors when using weights has been fixed.
A bug which caused
felm to crash R when all
cases of the data had NAs has been fixed. An error is raised instead.
felm now supports weights.
The conjugate gradient solver and trace estimation routine
fevcov have been made public as
Better support for matrices as covariates, both on the left and right hand side of the equation, and in the instrumental variable specification.
Support for multiple left hand sides, with formulas like
y|z|w ~ X |f1 + f2. The content of 'felm' objects have changed
slightly to accomodate this, and generic functions like vcov() and
coef() have gained an extra argument 'lhs' to specify which left hand
side to retrieve information about.
Two new functions, waldtest() and condfstat() have been included to test linear restrictions on parameters, and to compute conditional F statistics to test for weak instruments in the IV estimations. Observations with missing values are now correctly removed in IV-estimations.
The old syntax, with 'G()' to specify factors to project out, has been deprecated. It still works, but will yield a warning. Similarly with the arguments 'iv' and 'clustervar' to felm().
felm now takes a new argument in the
kclass to estimate k-class estimators with instrumental variables.
Two new functions were added, fevcov() and bccorr(), to compute limited mobility bias corrections for covariances (and correlations) between high dimensional factors. See citation('lfe') for reference to article describing it.
Support for multiway clustering added. Multiway clusters are specified
in the 4th part of the formula, like
y ~ x | f1+f2 | 0 | c1+c2
Added support for projecting out interactions between continuous
covariates and factors with specifications like
y ~ x | f1 + x2:f1.
Version presented in R-journal article. (See citation('lfe') for reference)