PlackettLuce 0.4.3
- Update functions to read Preflib Election Data Files (
read.socetc) so that they work for updated Preflib file formats. - Update Preflib URLs.
PlackettLuce 0.4.1
CRAN release: 2021-08-16
New features
- Extend
pltreeto allow option of modelling log-worth with a linear predictor (viapladmm()). - Improved handling of model formula in
pladmm(), including possibility to specify contrasts for any factors in the formula. - Add anova method for PLADMM models.
- Add
weightsargument topladmm(), allowing aggregated rankings to be modelled, optionally using anaggregate_rankingsobject to specify rankings and weights together.
Bug fixes
- Avoid computing variance-covariance matrix in
predict.PLADMM(vcov = FALSE)andAICwhen new data specified (partial fix to #50). - Correct residual df for PLADMM models based on partial rankings (previously assumed all rankings had equal number of items).
- Update URL for Preflib data sets.
PlackettLuce 0.4.0
CRAN release: 2021-03-29
- New
pladmmfunction to fit the Plackett-Luce model with log-worth modelled by item covariates. - Add three new variables to the
beansdata. The planting date, and geographical coordinates (@kauedesousa, #41).
PlackettLuce 0.3.2
CRAN release: 2021-01-04
- Fix test that fails with new behaviour of
all.equal(). - Update citation to use Computational Statistics paper (#44).
PlackettLuce 0.3.0
- Now correctly handles cases where intermediate tie orders are not observed, fixing corresponding tie parameters to zero (#42).
PlackettLuce 0.2-9
CRAN release: 2019-09-16
-
vcov.PlackettLuce()works again forref = NULL(bug introduced with vcov method in version 0.2-4) - avoid dependency on R >= 3.6.0 by providing alternatives to
asplit() -
read.soi()andread.toi()now handle incomplete rankings with very irregular lengths correctly. -
read.*()functions for Preflib formats now give a meaningful error when the file or URL does not exist, and a warning if the file is corrupt. -
as.rankingswithinput = "orderings"now checks coded values can be matched to item names, if provided. -
PlackettLuce()now works withnspeudo > 0when there are no observed paired comparisons. -
?PlackettLucenow gives advice on analysing data with higher order ties.
PlackettLuce 0.2-8
CRAN release: 2019-09-05
- Fix bug in
as.rankings.matrix()introduced in version 0.2-7. - Import
eigsfrom RSpectra vs rARPACK.
PlackettLuce 0.2-7
New Features
- New
"aggregated_rankings"object to store aggregated rankings with the corresponding frequencies. Objects of class"rankings"can be aggregated via theaggregatemethod; alternativelyrankings()andas.rankings()will create an"aggregated_rankings"object whenaggregate = TRUE.as.rankings()also handles pre-aggregated data, accepting frequencies via thefreqargument. - New
freq()function to extract frequencies from aggregated rankings. -
as.rankings()can now create a"grouped_rankings"object, if a grouping index is passed via theindexargument. - New
as.matrix()methods for rankings and aggregated rankings to extract the underlying matrix of rankings, with frequencies in the final column if relevant. This means rankings can be saved easily withwrite.table(). - New
complete()anddecode()functions to help pre-process orderings before converting to rankings,complete()infers the item(s) in r’th rank given the items in the other (r - 1) ranks.decode()converts coded (partial) orderings to orderings of the items in each ordering. - New
read.soi(),read.toc()andread.toi()to read the corresponding PrefLib file formats (for data types “Strict Orders - Incomplete List”, “Orders with Ties - Complete List” and “Orders with Ties - Incomplete List”). Anas.aggregated_rankings()method is provided to convert the data frame of aggregated orderings to an"aggregated_rankings"object.
Improvements
-
pltree()now respectsna.actionand will pad predictions and fitted values forna.action = "na.exclude"if the rankings are missing for a whole group or one of the model covariates has a missing value. -
PlackettLuce()now has anna.actionargument for handling of missing rankings. -
fitted()andchoices()now return data frames, with list columns as necessary.
Changes in behaviour
-
rankings()now sets redundant/inconsistent ranks toNArather than dropping them. This does not affect the final ranking, unless it is completelyNA. - The frequencies column in the data frame returned by
read.soc()is now namedFreqrather thann. - The
"item"attribute of the data frame returned byread.soc()is now named"items". - The
labelsargument inas.rankings()has been deprecated and replaced byitems. -
grouped_ranking()has been deprecated and replaced bygroup(). - The redundant columns in the
nascardata have been dropped.
PlackettLuce 0.2-6
CRAN release: 2019-04-01
- Avoid using
isFALSE()for compatibility with R < 3.5. - Don’t test number of iterations when comparing models on grouped and ungrouped rankings.
PlackettLuce 0.2-5
CRAN release: 2019-03-20
- Higher tolerance in tests of
vcov()for CRAN Windows test machine.
PlackettLuce 0.2-4
New Features
-
PlackettLuce()now supports MAP estimation with a multivariate normal prior on log-worths and/or a gamma prior on ranker adherence. -
PlackettLuce()now returns log-likelihood and degrees of freedom for the null model (where all outcomes, including ties, have equal probability). - There is now a
vcovmethod for Plackett-Luce trees.
Changes in Behaviour
-
itempar.PlackettLuce()now always returns a matrix, even for a single node tree.
Bug Fixes
-
pltree()orPlackettLuce()with grouped rankings now work correctly with weights.
PlackettLuce 0.2-3
CRAN release: 2018-04-09
Improvements
- Print methods for
"PlackettLuce"and"summary.PlacketLuce"objects now respectoptions("width").
PlackettLuce 0.2-2
CRAN release: 2018-02-19
New features
- Add
AIC.pltreeto enable computation of AIC on new observations (e.g. data held out in cross-validation). - Add
fitted.pltreeto return combined fitted probabilities for each choice within each ranking, for each node in a Plackett-Luce tree.
Bug fixes
-
vcov.PlackettLucenow works for models with non-integer weights (fixes #25). -
plot.pltreenow works forworth = TRUEwith psychotree version 0.15-2 (currently pre-release on https://r-forge.r-project.org/R/?group_id=330) -
PlackettLuceandplfitnow work whenstartargument is set. -
itempar.PlackettLucenow works withalias = FALSE
PlackettLuce 0.2-1
CRAN release: 2017-12-07
New features
- Add pkgdown site.
- Add content to README (fixes #5).
- Add
plot.PlackettLucemethod so that plotting works for a saved"PlackettLuce"object
Improvements
- Improved vignette, particularly example based on
beansdata (which has been updated). - Improved help files particularly
?PlackettLuceand newpackage?PlackettLuce. (Fixes #14 and #21).
Changes in behaviour
-
maxitdefaults to 500 inPlackettLuce. - Steffensen acceleration only applied in iterations where it will increase the log-likelihood (still only attempted once iterations have reached a solution that is “close enough” as specified by
steffensenargument).
Bug fixes
-
coef.pltree()now respectslog = TRUEargument (fixes #19). - Fix bug causes lack of convergence with iterative scaling plus pseudo-rankings.
-
[.grouped_rankings]now works for replicated indices.
PlackettLuce 0.2-0
New Features
- Add vignette.
- Add data sets
pudding,nascarandbeans. - Add
pltree()function for use withpartykit::mob(). Requires new objects of type"grouped_rankings"that add a grouping index to a"rankings"object and store other derived objects used byPlackettLuce. Methods to print, plot and predict from Plackett-Luce tree are provided. - Add
connectivity()function to check connectivity of a network given adjacency matrix. Newadjacency()function computes adjacency matrix without creating edgelist, so removeas.edgelistgeneric and method for `“PlackettLuce” objects. - Add
as.data.framemethods so that rankings and grouped rankings can be added to model frames. - Add
formatmethods for rankings and grouped_rankings, for pretty printing. - Add
[methods for rankings and grouped_rankings, to create valid rankings from selected rankings and/or items. - Add method argument to offer choices of iterative scaling (default), or direct maximisation of the likelihood via BFGS or L-BFGS.
- Add
itemparmethod for “PlackettLuce” objects to obtain different parameterizations of the worth parameters. - Add
read.socfunction to read Strict Orders - Complete List (.soc) files from https://www.preflib.org.
Changes in behaviour
Old behaviour should be reproducible with arguments
npseudo = 0, steffensen = 0, start = c(rep(1/N, N), rep(0.1, D))where N is number of items and D is maximum order of ties.
- Implement pseudo-data approach - now used by default.
- Improve starting values for ability parameters
- Add Steffensen acceleration to iterative scaling algorithm
- Dropped
refargument fromPlackettLuce; should be specified instead when callingcoef,summary,vcovoritempar. -
qvcalcgeneric now imported from qvcalc
Improvements
- Refactor code to speed up model fitting and computation of fitted values and vcov.
- Implement ranking weights and starting values in
PlackettLuce. - Add package tests
- Add
logargument tocoefso that worth parameters (probability of coming first in strict ranking of all items) can be obtained easily.