rPLMIX: Random sample from a mixture of Plackett-Luce models

Description Usage Arguments Details Value Author(s) Examples

View source: R/PLMIXfunctions.R

Description

Draw a random sample of complete orderings/rankings from a G-component mixture of Plackett-Luce models.

Usage

1
2
3
rPLMIX(n = 1, K, G, p = t(matrix(1/K, nrow = K, ncol = G)),
  ref_order = t(matrix(1:K, nrow = K, ncol = G)), weights = rep(1/G,
  G), format_output = "ordering")

Arguments

n

Number of observations to be sampled. Default is 1.

K

Number of possible items.

G

Number of mixture components.

p

Numeric GxK matrix of component-specific support parameters. Default is equal support parameters (uniform mixture components).

ref_order

Numeric GxK matrix of component-specific reference orders. Default is forward orders (identity permutations) in each row, corresponding to Plackett-Luce mixture components (see 'Details').

weights

Numeric vector of G mixture weights. Default is equal weights.

format_output

Character string indicating the format of the returned simulated dataset ("ordering" or "ranking"). Default is "ordering".

Details

Positive values are required for p and weights arguments (normalization is not necessary).

The ref_order argument accommodates for the more general mixture of Extended Plackett-Luce models (EPL), involving the additional reference order parameters (Mollica and Tardella 2014). A permutation of the first K integers can be specified in each row of the ref_order argument to generate a sample from a G-component mixture of EPL. Since the Plackett-Luce model is a special instance of the EPL with the reference order equal to the identity permutation (1,…,K), the default value of the ref_order argument is forward orders.

Value

If G=1, a numeric NxK matrix of simulated complete sequences. If G>1, a list of two named objects:

comp

Numeric vector of N mixture component memberships.

sim_data

Numeric NxK matrix of simulated complete sequences.

Author(s)

Cristina Mollica and Luca Tardella

Examples

1
2
3
4
5
6
7
8
9
K <- 6
G <- 3
support_par <- matrix(1:(G*K), nrow=G, ncol=K)
weights_par <- c(0.50, 0.25, 0.25)

set.seed(47201)
simulated_data <- rPLMIX(n=5, K=K, G=G, p=support_par, weights=weights_par)
simulated_data$comp
simulated_data$sim_data

PLMIX documentation built on Sept. 4, 2019, 5:03 p.m.