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 all.tests=TRUE
in parallel::detectCores()
Backport changes by CRAN maintainers (2.8.5-1): delete file examples/lfe-Ex.Rout.save
Fix a few typos with devtools::spell_check()
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 unnamed()
and
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 sample()
algorithm
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 formula()
.
A felm-object now works as expected with sandwich::bread()
.
Added functionality for closed form standard errors on the fixed effects if standard normal and only one fixed effect.
Added a 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
broom.
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 felm(...,psdef=FALSE)
.
Fixed a bug in btrap
which could yield wrong bootstrapped standard
errors in getfe
.
A function 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.
A function 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
calls to felm
, but the builtin functionality avoids repeated
calls to model.frame
and 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 "pdata.frame"
.
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
used by fevcov
have been made public as
cgsolve
and mctrace
.
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 ...
part,
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)