Package 'RankResponse'

Title: Ranking Responses in a Single Response Question or a Multiple Response Question
Description: Methods for ranking responses of a single response question or a multiple response question are described in the two papers: 1. Wang, H. (2008). Ranking Responses in Multiple-Choice Questions. Journal of Applied Statistics, 35, 465-474. <DOI:10.1080/02664760801924533> 2. Wang, H. and Huang, W. H. (2014). Bayesian Ranking Responses in Multiple Response Questions. Journal of the Royal Statistical Society: Series A (Statistics in Society), 177, 191-208. <DOI:10.1111/rssa.12009>.
Authors: Hsiuying Wang, Yu-Chun Lin, Wan-Ting Huang
Maintainer: Hsiuying Wang <[email protected]>
License: GPL (>= 2)
Version: 4.0.0
Built: 2024-12-31 07:57:40 UTC
Source: CRAN

Help Index


Rank Responses based on the Generalized Score Test

Description

Rank responses of a single response question or a multiple response question by the generalized score test procedure.

Usage

rank.gs(data, alpha = 0.05, ranktype = 1)

Arguments

data

A m by n matrix dijd_{ij}, where dijd_{ij} = 0 or 1. If the ith respondent selects the jth response, then dijd_{ij} = 1, otherwise dijd_{ij} = 0.

alpha

The significance level is used to control the type I error rate. The default is 0.05.

ranktype

A numerical value specifies which type of ranking method is used. The default is 1 (see 'Details').

Details

Suppose that the question has k responses. Let πj\pi_{j} denote the probability that the jth response is selected. Using the survey data, πj\pi_{j} can be estimated.

If ranktype is 1, the ranking rule is the following steps. Let π(j)\pi_{(j)} denote the order statistic. If the hypothesis π(k)\pi_{(k)} = π(k1)\pi_{(k-1)} is rejected, we rank the response corresponding to π(k)\pi_{(k)} first. If it is not rejected, we compare π(k)\pi_{(k)} with π(j)\pi_{(j)} , jk2j \le k-2 sequentially.

If ranktype is 2, the rank of the ith response can be defined as

Ri=kj=1,jikI(πi>πj)R_{i} = k - \sum_{j=1, j\ne i}^{k} I(\pi_{i} > \pi_{j})

Value

rank.gs returns a table contains the estimated probabilities of the responses being selected in the first line and the ranks of the responses in the second line.

Author(s)

Hsiuying Wang [email protected] , Wan-Ting Huang [email protected] , Yu-Chun Lin [email protected]

References

Wang, H. (2008). Ranking Responses in Multiple-Choice Questions. Journal of Applied Statistics, 35, 465-474.

Wang, H. and Huang, W. H. (2014). Bayesian Ranking Responses in Multiple Response Questions. Journal of the Royal Statistical Society: Series A (Statistics in Society), 177, 191-208.

See Also

rankL2R, rankLN, rank.wald

Examples

set.seed(12345)
# This is an example to rank k responses in a multiple response question
# when the number of respondents is 1000.
# In this example, we do not use a real data, but generate data in the first six lines.
k <- 5
data <- matrix(NA, nrow = 1000, ncol = k)
for(i in 1:k){
  p <- runif(1)
  data[, i] <- sample(c(0, 1), 1000, p = c(p, 1-p), replace = TRUE)
}
## or upload the true data
rank.gs(data)

Rank Responses based on the Wald Test

Description

Rank responses of a single response question or a multiple response question by the wald test procedure.

Usage

rank.wald(data, alpha = 0.05, ranktype = 1)

Arguments

data

A m by n matrix dijd_{ij}, where dijd_{ij} = 0 or 1. If the ith respondent selects the jth response, then dijd_{ij} = 1, otherwise dijd_{ij} = 0.

alpha

The significance level is used to control the type I error rate. The default is 0.05.

ranktype

A numerical value specifies which type of ranking method is used. The default is 1 (see 'Details').

Details

Suppose that the question has k responses. Let πj\pi_{j} denote the probability that the jth response is selected. Using the survey data, πj\pi_{j} can be estimated.

If ranktype is 1, the ranking rule is the following steps. Let π(j)\pi_{(j)} denote the order statistic. If the hypothesis π(k)\pi_{(k)} = π(k1)\pi_{(k-1)} is rejected, we rank the response corresponding to π(k)\pi_{(k)} first. If it is not rejected, we compare π(k)\pi_{(k)} with π(j)\pi_{(j)} , jk2j \le k-2 sequentially.

If ranktype is 2, the rank of the ith response can be defined as

Ri=kj=1,jikI(πi>πj)R_{i} = k - \sum_{j=1, j\ne i}^{k} I(\pi_{i} > \pi_{j})

Value

rank.wald returns a table contains the estimated probabilities of the responses being selected in the first line and the ranks of the responses in the second line.

Author(s)

Hsiuying Wang [email protected] , Wan-Ting Huang [email protected] , Yu-Chun Lin [email protected]

References

Wang, H. (2008). Ranking Responses in Multiple-Choice Questions. Journal of Applied Statistics, 35, 465-474.

Wang, H. and Huang, W. H. (2014). Bayesian Ranking Responses in Multiple Response Questions. Journal of the Royal Statistical Society: Series A (Statistics in Society), 177, 191-208.

See Also

rankL2R, rankLN, rank.gs

Examples

set.seed(12345)
# This is an example to rank k responses in a multiple response question
# when the number of respondents is 1000.
# In this example, we do not use a real data, but generate data in the first six lines.
k <- 5
data <- matrix(NA, nrow = 1000, ncol = k)
for(i in 1:k){
  p <- runif(1)
  data[, i] <- sample(c(0, 1), 1000, p = c(p, 1-p), replace = TRUE)
}
## or upload the true data
rank.wald(data)

Rank responses under the Bayesian framework according to the loss function in Method 3 of Wang and Huang (2004).

Description

Rank responses of a single response question or a multiple response question under the Bayesian framework according to the loss function in Method 3 of Wang and Huang (2004).

Usage

rankL2R(data, response.number, prior.parameter, e)

Arguments

data

A m by n matrix dijd_{ij}, where dijd_{ij} = 0 or 1. If the ith respondent selects the jth response, then dijd_{ij} = 1, otherwise dijd_{ij} = 0.

response.number

The number of the responses.

prior.parameter

The parameter vector of the Dirichlet prior distribution, where the vector dimension is 2^response.number.

e

A cut point used in the loss function which depends on the economic costs.

Value

The rankL2R returns the estimated probabilities of the responses being selected in the first line and the ranks of the responses in the second line.

Author(s)

Hsiuying Wang [email protected] , Yu-Chun Lin [email protected]

References

Wang, H. and Huang, W. H. (2014). Bayesian Ranking Responses in Multiple Response Questions. Journal of the Royal Statistical Society: Series A (Statistics in Society), 177, 191-208.

See Also

rankLN, rank.wald, rank.gs

Examples

set.seed(12345)
# This is an example to rank k responses in a multiple response question
# when the number of respondents is 1000 and the value e is 0.15.
# In this example, we do not use a real data, but generate data in the first six lines.
k <- 3
data <- matrix(NA, nrow = 1000, ncol = k)
for(i in 1:k){
  p <- runif(1)
  data[, i] <- sample(c(0, 1), 1000, p = c(p, 1-p), replace = TRUE)
}
## or upload the true data
response.number <- 3
prior.parameter <- c(5, 98, 63, 7, 42, 7, 7, 7)
e <- 0.15
rankL2R(data, response.number, prior.parameter, e)

Rank responses under the Bayesian framework according to the loss function in Method 1 of Wang and Huang (2004).

Description

Rank responses of a single response question or a multiple response question under the Bayesian framework according to the loss function in Method 1 of Wang and Huang (2004).

Usage

rankLN(data, response.number, prior.parameter, c)

Arguments

data

A m by n matrix dijd_{ij}, where dijd_{ij} = 0 or 1. If the ith respondent selects the jth response, then dijd_{ij} = 1, otherwise dijd_{ij} = 0.

response.number

The number of the responses.

prior.parameter

The parameter vector of the Dirichlet prior distribution , where the vector dimension is 2^response.number.

c

The value of c in the loss function

Value

The rankLN returns the estimated probabilities of the responses being selected in the first line and the ranks of the responses in the second line.

Author(s)

Hsiuying Wang [email protected] , Yu-Chun Lin [email protected]

References

Wang, H. and Huang, W. H. (2014). Bayesian Ranking Responses in Multiple Response Questions. Journal of the Royal Statistical Society: Series A (Statistics in Society), 177, 191-208.

See Also

rankL2R, rank.wald, rank.gs

Examples

set.seed(12345)
# This is an example to rank k responses in a multiple response question
# when the number of respondents is 1000 and the value e2R is 0.15.
# In this example, we do not use a real data, but generate data in the first six lines.
k <- 3
data <- matrix(NA, nrow = 1000, ncol = k)
for(i in 1:k){
  p <- runif(1)
  data[, i] <- sample(c(0, 1), 1000, p = c(p, 1-p), replace = TRUE)
}
## or upload the true data
response.number <- 3
prior.parameter <- c(5, 98, 63, 7, 42, 7, 7, 7)
c <- 0.05
rankLN(data, response.number, prior.parameter, c)