Learn R Programming

sirt (version 1.14-0)

data.mcdonald: Some Datasets from McDonald's Test Theory Book

Description

Some datasets from McDonald (1999), especially related to using NOHARM for item response modelling. See Examples below.

Usage

data(data.mcdonald.act15) data(data.mcdonald.LSAT6) data(data.mcdonald.rape)

Arguments

Format

  • The format of the ACT15 data data.mcdonald.act15 is: num [1:15, 1:15] 0.49 0.44 0.38 0.3 0.29 0.13 0.23 0.16 0.16 0.23 ... - attr(*, "dimnames")=List of 2 ..$ : chr [1:15] "A01" "A02" "A03" "A04" ... ..$ : chr [1:15] "A01" "A02" "A03" "A04" ... The dataset (which is the product-moment covariance matrix) is obtained from Ch. 12 in McDonald (1999).
  • The format of the LSAT6 data data.mcdonald.LSAT6 is: 'data.frame': 1004 obs. of 5 variables: $ L1: int 0 0 0 0 0 0 0 0 0 0 ... $ L2: int 0 0 0 0 0 0 0 0 0 0 ... $ L3: int 0 0 0 0 0 0 0 0 0 0 ... $ L4: int 0 0 0 0 0 0 0 0 0 1 ... $ L5: int 0 0 0 1 1 1 1 1 1 0 ... The dataset is obtained from Ch. 6 in McDonald (1999).
  • The format of the rape myth scale data data.mcdonald.rape is List of 2 $ lambda: num [1:2, 1:19] 1.13 0.88 0.85 0.77 0.79 0.55 1.12 1.01 0.99 0.79 ... ..- attr(*, "dimnames")=List of 2 .. ..$ : chr [1:2] "male" "female" .. ..$ : chr [1:19] "I1" "I2" "I3" "I4" ... $ nu : num [1:2, 1:19] 2.88 1.87 3.12 2.32 2.13 1.43 3.79 2.6 3.01 2.11 ... ..- attr(*, "dimnames")=List of 2 .. ..$ : chr [1:2] "male" "female" .. ..$ : chr [1:19] "I1" "I2" "I3" "I4" ... The dataset is obtained from Ch. 15 in McDonald (1999).

Source

Tables in McDonald (1999)

References

McDonald, R. P. (1999). Test theory: A unified treatment. Psychology Press.

Examples

Run this code
## Not run: 
# #############################################################################
# # EXAMPLE 1: LSAT6 data	| Chapter 12 McDonald (1999)
# #############################################################################	
# data(data.mcdonald.act15)
# 
# #************
# # Model 1: 2-parameter normal ogive model
# 
# #++ NOHARM estimation
# I <- ncol(dat)
# # covariance structure
# P.pattern <- matrix( 0 , ncol=1 , nrow=1 )
# P.init <- 1+0*P.pattern
# # fix all entries in the loading matrix to 1
# F.pattern <- matrix( 1 , nrow=I , ncol=1 )
# F.init <- F.pattern        
# # estimate model
# mod1a <- sirt::R2noharm( dat = dat , model.type="CFA" , F.pattern = F.pattern , 
#              F.init = F.init , P.pattern = P.pattern , P.init = P.init ,
#              writename = "LSAT6__1dim_2pno" , noharm.path = noharm.path , dec ="," )            
# summary(mod1a , logfile="LSAT6__1dim_2pno__SUMMARY")
# 
# #++ pairwise marginal maximum likelihood estimation using the probit link
# mod1b <- sirt::rasch.pml3( dat , est.a=1:I , est.sigma=FALSE)
# 
# #************
# # Model 2: 1-parameter normal ogive model
# 
# #++ NOHARM estimation
# # covariance structure
# P.pattern <- matrix( 0 , ncol=1 , nrow=1 )
# P.init <- 1+0*P.pattern
# # fix all entries in the loading matrix to 1
# F.pattern <- matrix( 2 , nrow=I , ncol=1 )
# F.init <- 1+0*F.pattern       
# # estimate model
# mod2a <- sirt::R2noharm( dat = dat , model.type="CFA" , F.pattern = F.pattern ,
#                 F.init = F.init , P.pattern = P.pattern , P.init = P.init , 
#                 writename = "LSAT6__1dim_1pno" , noharm.path = noharm.path , dec ="," )            
# summary(mod2a , logfile="LSAT6__1dim_1pno__SUMMARY")
# 
# # PMML estimation
# mod2b <- sirt::rasch.pml3( dat , est.a=rep(1,I) , est.sigma=FALSE )
# summary(mod2b)
# 
# #************
# # Model 3: 3-parameter normal ogive model with fixed guessing parameters
# 
# #++ NOHARM estimation
# # covariance structure
# P.pattern <- matrix( 0 , ncol=1 , nrow=1 )
# P.init <- 1+0*P.pattern
# # fix all entries in the loading matrix to 1
# F.pattern <- matrix( 1 , nrow=I , ncol=1 )
# F.init <- 1+0*F.pattern      
# # estimate model
# mod <- sirt::R2noharm( dat = dat , model.type="CFA" ,  guesses=rep(.2,I) , 
#             F.pattern = F.pattern , F.init = F.init , P.pattern = P.pattern ,
#             P.init = P.init , writename = "LSAT6__1dim_3pno" , 
#             noharm.path = noharm.path , dec ="," )            
# summary(mod , logfile="LSAT6__1dim_3pno__SUMMARY")
# 
# #++ logistic link function employed in smirt function 
# mod1d <- sirt::smirt(dat, Qmatrix=F.pattern, est.a= matrix(1:I,I,1), c.init=rep(.2,I))
# summary(mod1d)
# 
# #############################################################################
# # EXAMPLE 2: ACT15 data	| Chapter 6 McDonald (1999)
# #############################################################################	
# data(data.mcdonald.act15)
# pm <- data.mcdonald.act15
# 
# #************
# # Model 1: 2-dimensional exploratory factor analysis
# mod1 <- sirt::R2noharm( pm=pm , n=1000, model.type="EFA" , dimensions=2 , 
#              writename = "ACT15__efa_2dim" , noharm.path = noharm.path , dec ="," )            
# summary(mod1)
# 
# #************
# # Model 2: 2-dimensional independent clusters basis solution
# P.pattern <- matrix(1,2,2)
# diag(P.pattern) <- 0
# P.init <- 1+0*P.pattern
# F.pattern <- matrix(0,15,2)
# F.pattern[ c(1:5,11:15),1] <- 1
# F.pattern[ c(6:10,11:15),2] <- 1
# F.init <- F.pattern
# 
# # estimate model
# mod2 <- sirt::R2noharm( pm=pm , n=1000 ,  model.type="CFA" , F.pattern = F.pattern , 
#             F.init = F.init , P.pattern = P.pattern ,P.init = P.init , 
#             writename = "ACT15_indep_clusters" , noharm.path = noharm.path , dec ="," )       
# summary(mod2)
# 
# #************
# # Model 3: Hierarchical model
# 
# P.pattern <- matrix(0,3,3)
# P.init <- P.pattern
# diag(P.init) <- 1
# F.pattern <- matrix(0,15,3)
# F.pattern[,1] <- 1	# all items load on g factor
# F.pattern[ c(1:5,11:15),2] <- 1   # Items 1-5 and 11-15 load on first nested factor
# F.pattern[ c(6:10,11:15),3] <- 1  # Items 6-10 and 11-15 load on second nested factor
# F.init <- F.pattern
# 
# # estimate model
# mod3 <- sirt::R2noharm( pm=pm , n=1000 ,  model.type="CFA" , F.pattern = F.pattern , 
#            F.init = F.init , P.pattern = P.pattern , P.init = P.init , 
#            writename = "ACT15_hierarch_model" , noharm.path = noharm.path , dec ="," )       
# summary(mod3)
# 
# #############################################################################
# # EXAMPLE 3: Rape myth scale | Chapter 15 McDonald (1999)
# #############################################################################   
# data(data.mcdonald.rape)
# lambda <- data.mcdonald.rape$lambda
# nu <- data.mcdonald.rape$nu
# 
# # obtain multiplier for factor loadings (Formula 15.5)
# k <- sum( lambda[1,] * lambda[2,] ) / sum( lambda[2,]^2 )
#   ##   [1] 1.263243
# 
# # additive parameter (Formula 15.7)
# c <- sum( lambda[2,]*(nu[1,]-nu[2,]) ) / sum( lambda[2,]^2 )
#   ##   [1] 1.247697
# 
# # SD in the female group
# 1/k
#   ##   [1] 0.7916132
# 
# # M in the female group
# - c/k
#   ##   [1] -0.9876932
# 
# # Burt's coefficient of factorial congruence (Formula 15.10a)
# sum( lambda[1,] * lambda[2,] ) / sqrt( sum( lambda[1,]^2 ) * sum( lambda[2,]^2 ) )
#   ##   [1] 0.9727831
# 
# # congruence for mean parameters
# sum(  (nu[1,]-nu[2,]) * lambda[2,] ) / sqrt( sum( (nu[1,]-nu[2,])^2 ) * sum( lambda[2,]^2 ) )
#   ##   [1] 0.968176
# ## End(Not run)

Run the code above in your browser using DataLab