Type: | Package |
Title: | Ranking Responses in a Single Response Question or a Multiple Response Question |
Version: | 4.0.0 |
Imports: | stats |
Author: | Hsiuying Wang, Yu-Chun Lin, Wan-Ting Huang |
Maintainer: | Hsiuying Wang <wang@stat.nycu.edu.tw> |
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>. |
License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
Encoding: | UTF-8 |
RoxygenNote: | 7.1.2 |
NeedsCompilation: | no |
Packaged: | 2022-05-11 03:30:11 UTC; User |
Repository: | CRAN |
Date/Publication: | 2022-05-11 11:50:05 UTC |
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 |
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 \pi_{j}
denote the probability that the jth response is selected.
Using the survey data, \pi_{j}
can be estimated.
If ranktype
is 1, the ranking rule is the following steps.
Let \pi_{(j)}
denote the order statistic.
If the hypothesis \pi_{(k)}
= \pi_{(k-1)}
is rejected,
we rank the response corresponding to \pi_{(k)}
first.
If it is not rejected, we compare \pi_{(k)}
with \pi_{(j)}
, j \le k-2
sequentially.
If ranktype
is 2, the rank of the ith response can be defined as
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 wang@stat.nycu.edu.tw , Wan-Ting Huang wthuang.sc09@nycu.edu.tw , Yu-Chun Lin restart79610@hotmail.com
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
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 |
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 \pi_{j}
denote the probability that the jth response is selected.
Using the survey data, \pi_{j}
can be estimated.
If ranktype
is 1, the ranking rule is the following steps.
Let \pi_{(j)}
denote the order statistic.
If the hypothesis \pi_{(k)}
= \pi_{(k-1)}
is rejected,
we rank the response corresponding to \pi_{(k)}
first.
If it is not rejected, we compare \pi_{(k)}
with \pi_{(j)}
, j \le k-2
sequentially.
If ranktype
is 2, the rank of the ith response can be defined as
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 wang@stat.nycu.edu.tw , Wan-Ting Huang wthuang.sc09@nycu.edu.tw , Yu-Chun Lin restart79610@hotmail.com
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
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 |
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 wang@stat.nycu.edu.tw , Yu-Chun Lin restart79610@hotmail.com
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
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 |
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 wang@stat.nycu.edu.tw , Yu-Chun Lin restart79610@hotmail.com
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
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)