gen4PMData: Generate item response data for 1, 2, 3, or 4-parameter IRT... In fungible: Psychometric Functions from the Waller Lab

Description

Generate item response data for or 1, 2, 3 or 4-parameter IRT Models.

Usage

 1 2 3 4 5 6 7 8 9 gen4PMData( NSubj = NULL, abcdParams, D = 1.702, seed = NULL, theta = NULL, thetaMN = 0, thetaVar = 1 )

Arguments

 NSubj the desired number of subject response vectors. abcdParams a p(items)-by-4 matrix of IRT item parameters: a = discrimination, b = difficulty, c = lower asymptote, and d = upper asymptote. D Scaling constant to place the IRF on the normal ogive or logistic metric. Default = 1.702 (normal ogive metric) seed Optional seed for the random number generator. theta Optional vector of latent trait scores. If theta = NULL (the default value) then gen4PMData will simulate theta from a normal distribution. thetaMN Mean of simulated theta distribution. Default = 0. thetaVar Variance of simulated theta distribution. Default = 1

Value

 data N(subject)-by-p(items) matrix of item response data. theta Latent trait scores. seed Value of the random number seed.

Niels Waller

Examples

 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 ## Generate simulated 4PM data for 2,000 subjects # 4PM Item parameters from MMPI-A CYN scale Params<-matrix(c(1.41, -0.79, .01, .98, #1 1.19, -0.81, .02, .96, #2 0.79, -1.11, .05, .94, #3 0.94, -0.53, .02, .93, #4 0.90, -1.02, .04, .95, #5 1.00, -0.21, .02, .84, #6 1.05, -0.27, .02, .97, #7 0.90, -0.75, .04, .73, #8 0.80, -1.42, .06, .98, #9 0.71, 0.13, .05, .94, #10 1.01, -0.14, .02, .81, #11 0.63, 0.18, .18, .97, #12 0.68, 0.18, .02, .87, #13 0.60, -0.14, .09, .96, #14 0.85, -0.71, .04, .99, #15 0.83, -0.07, .05, .97, #16 0.86, -0.36, .03, .95, #17 0.66, -0.64, .04, .77, #18 0.60, 0.52, .04, .94, #19 0.90, -0.06, .02, .96, #20 0.62, -0.47, .05, .86, #21 0.57, 0.13, .06, .93, #22 0.77, -0.43, .04, .97),23,4, byrow=TRUE) data <- gen4PMData(NSubj=2000, abcdParams = Params, D = 1.702, seed = 123, thetaMN = 0, thetaVar = 1)\$data cat("\nClassical item difficulties for simulated data") print( round( apply(data,2,mean),2) )

fungible documentation built on Sept. 29, 2021, 1:06 a.m.