gen.weight {irtQ} | R Documentation |
Generate Weights
Description
This function generates a set of weights based on a set of theta values to be used in the functions est_score
and sx2_fit
.
Usage
gen.weight(n = 41, dist = "norm", mu = 0, sigma = 1, l = -4, u = 4, theta)
Arguments
n |
An integer identifying the number of theta (or node) values for which weights are generated. Default is 41. |
dist |
A character string specifying a probability distribution from which the weights are generated. Available distributions are
"norm" for a normal distribution, "unif" for a uniform distribution, and "emp" for an empirical distribution.
When |
mu , sigma |
A mean and standard deviation of a normal distribution. |
l , u |
Lower and upper limits of a uniform distribution. |
theta |
A vector of empirical theta (or node) values for which weights are generated. |
Details
When the argument theta
is missing, n weights can be generated from either the normal distribution or the uniform distribution.
Note that if dist = "norm"
, gaussian quadrature points and weights from the normal distribution are generated. See
gauss.quad.prob()
in the statmod package for more details.
When the argument theta
is not missing, the weights corresponding to the provided theta values are generated. Specifically, if
dist = "norm"
, normalized weights from the normal distribution are returned. If dist = "emp"
, every specified theta value has the equal
values of normalized weights.
Value
This function returns a data frame with two columns, where the first column has theta values (nodes) and the second column provides weights.
Author(s)
Hwanggyu Lim hglim83@gmail.com
See Also
Examples
## example 1
## generate 41 gaussian quadrature points and weights of normal distribution
gen.weight(n=41, dist = "norm", mu = 0, sigma = 1)
## example 2
## generate 41 theta values and weights from the uniform normal distribution,
## given the mininum value of -4 and the maximum value of 4
gen.weight(n=41, dist = "unif", l = -4, u = 4)
## example 3
## generate the normalized weights from the standardized normal distribution,
## given a set of theta values
theta <- seq(-4, 4, by=0.1)
gen.weight(dist = "norm", mu = 0, sigma = 1, theta = theta)
## example 4
## generate the same values of normalized weights for the theta values that are
## randomly sampled from the standardized normal distribution
theta <- rnorm(100)
gen.weight(dist = "emp", theta = theta)