The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
broom.helpers (>= 1.15.0)
and
gtsummary (>= 2.0.0)
in DESCRIPTION to accord with an
update in {gtsummary}.convergence.Rmd
vignette to not run any
actual code using other packages to fix issue on CRAN where not all
packages are available on all platforms. Now the results are hard-coded
in place.makeObsID()
where table()
was
sorting the results stored in reps
, which has to be
manually undone. Fixes #50.predict()
method to use the
interval
and level
arguments of more standard
predict()
methods.ci()
function.logit_probs()
function.adjustFactorLevels()
where the
levels_orig
object was being accidentally overwritten.adjustFactorLevels()
to
checkFactorLevels()
.predict()
method would error if
factor levels were missing in newdata
.tidy()
, glance()
, and
augment()
methods for use with the {broom} package.model.matrix.logitr()
,
terms.logitr()
, and model.frame.logitr()
methods for use with {broom.helpers}.panelID
and
clusterUD
variables a sequentially increasing numeric
vector and to stop the program if there are any repeated IDs in these
variables.obsID
variable a
sequentially increasing numeric vector (this was previously done but was
accidentally removed in prior updates).modelSpace
variable along
inside the vcov()
method.runtimes
, was included, which is
exported from the colab notebook used for benchmarking here:
https://colab.research.google.com/drive/1vYlBdJd4xCV43UwJ33XXpO3Ys8xWkuxx?usp=sharingdrawType
argument.price
to
scalePar
to be more general.randPrice
to
randScale
to be more general.modelSpace
argument is no longer required for
specifying a WTP space model as it is redundant. Including a
scalePar
argument is enough to determine that it is a WTP
space model.correlation
argument to include correlated
heterogeneity.obsID
and
outcome
arguments.vcov.logitr()
method now returns
object$vcov
if the user set vcov = TRUE
during
estimation (avoids a redundant calculation of vcov
, which
is more efficient).apolloModeChoiceData
,
electricity
fquantile()
function, which is a faster
implementation of the stats::quantile()
function.predict.logitr()
method was added for making
probability and choice predictions from logitr class objects.predictProbs()
and predictChoices()
functions were depreciated.fitted.logitr()
and
residuals.logitr()
methods.predict
argument to the main
logitr()
function which controls whether predicted
probabilities, fitted.values, and residuals are included in the returned
object. Default setting is TRUE.se.logitr()
method.vcov
argument to the logitr()
function.options
argument and are now passed directly as arguments
to logitr()
. These include: numMultiStarts
,
useAnalyticGrad
, scaleInputs
,
startParBounds
, standardDraws
,
numDraws
, startVals
. The options
argument is now only used for options to control the optimization
handled by nloptr()
.logitr()
function were
changed to make them easier to understand: choiceName
became choice
, obsIDName
became
obsID
, parNames
became pars
,
priceName
became price
,
weightsName
became weights
,
clusterName
became cluster
. If used, old names
will be passed to the new argument names and a warning will be
displayed.print.logitr()
, logLik.logitr()
,
coef.summary.logitr()
, vcov.logitr()
,
terms.logitr()
summary.logitr()
and
coef.logitr()
methods for better printing, now using
printCoefmat()
.wtp()
and
wtpCompare()
functionsaltIDName
argument to
predictChoices()
and predictProbs()
to
preserve the row order of predictions for each alternative in each set
of alternatives. Closes issue #13.Added support for panel data in the log-likelihood function and gradients
Major changes were made to the gradient functions, which dramatically improved computational efficiency. MNL and MXL models in either preference or WTP spaces now use the faster implementation of the logit calculations.
This version was the first implementation of an alternative approach for computing the logit probabilities, which increased computational speed. Specifically, the formulation was to compute P = 1 / (1 + sum(exp(V - V_chosen)))
The vcov()
method was modified such that it computes the
covariance post model estimation. Previously, the covariance matrix was
being computed internally in the logitr()
function, and
vcov()
just returned this value, which was computationally
much slower.
Several breaking changes in this version.
choiceName
–>
choice
, obsIDName
–> obsID
,
parNames
–> pars
, priceName
–> price
, weightsName
–>
weights
, clusterName
–>
cluster
.options
argument and are now passed directly as arguments
to logitr()
. These include: numMultiStarts
,
useAnalyticGrad
, scaleInputs
,
startParBounds
, standardDraws
,
numDraws
, startVals
.summary.logitr()
and
coef.logitr()
methods for better printing, using
printCoefmat()
print.logitr()
,
logLik.logitr()
, coef.summary.logitr()
,
vcov.logitr()
wtp()
and
wtpCompare()
functionsaltIDName
argument to
predictChoices()
and predictProbs()
to
preserve the row order of predictions for each alternative in each set
of alternatives. Closes issue #13.predictChoices()
and
predictProbs()
, and , depreciated
simulateShares()
.recodeData()
function to
improve encoding efficiency.dummyCode()
predictChoices()
function.predictShares()
function, depreciating
simulateShares()
.recodeData()
and dummyCode()
functions for improved speed.simulateShares()
to work with the automatic
dummy coding from the revised recodeData()
and
dummyCode()
functions.simulateShares()
to compute shares
for multiple sets of alternatives.simulateShares()
, the shares were not correctly
computed with a WTP space model because price was still being multiplied
by -1. This has been corrected.standardDraws()
functiongetCatVarDummyNames()
- previously used
string matching, which can accidentally match with other similarly-named
variables.rowsum()
where the reorder
argument was set to TRUE
, which resulted in wrong logit
calculations unless the obsID
happened to be already
sorted.algorithm
to the options
input, with
the default being set to "NLOPT_LD_LBFGS"
.getParTypes()
function - previously
was not returning the correct parNames
for continuous
vs. discrete variables."pref"
or "wtp"
.priceName
argument is only used when the modelSpace
argument is set
to "wtp"
.getCoefTable()
functionWeighted models, new dataset, new encoding features
yogurt
, cars_china
, cars_us
dummyCode()
function for automatically
creating dummy-coded variables in a data frame.modelInputs
where obsID
was
not a vector for tibble inputsNew simulation functionality
simulateShares()
. This is similar to
the predict()
function in mlogit.options()
function. I found this just far too
confusing, and instead encourage users to supply a WTP space model with
the computed WTP from a preference space model as starting
parameters.summary()
and main logitr()
functions to keep the basic information (run #, log-likelihood value,
number of iterations, and output status) whenever
numMultistarts
> 1. Previously this information was only
kept if keepAllRuns
was set to TRUE
.Updates to options and a few small bug fixes
logitr.summary()
function and instead
added the logitr
class to all the models and renamed the
summary function to summary.logitr()
. Now you can just use
the standard summary()
function to summarize model
results.TRUE
.Full reboot of logitr!
Long overdue, I decided to give the logitr program a full overhaul. This is the first version that is compiled as a proper R package that can be directly installed from GitHub. This version is much more robust and flexible than the prior, clunky collection of R files that I had previously been using to estimate logit models.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.