5 Simulação de respostas no R

5.1 Simulação utilizando o pacote irtoys

Primeiro Carregue o pacote irtoys:

  > require(irtoys)

Em seguida, gere os valores dos parâmetros de interesse. Considere, por exemplo 18 itens:

  > set.seed(2345) #
  > a<-runif(18,.2,3)
  > b<-seq(-2,2,length=18)
  > set.seed(321)
  > #c<-runif(18,.10,.25) ou
  > c<-rep(.33,18)
  > pa<-cbind(a,b,c);pa

                a          b    c
   [1,] 0.5268817 -2.0000000 0.33
   [2,] 0.7460703 -1.7647059 0.33
   [3,] 2.1840811 -1.5294118 0.33
   [4,] 0.2964729 -1.2941176 0.33
   [5,] 1.5303363 -1.0588235 0.33
   [6,] 1.0236516 -0.8235294 0.33
   [7,] 1.8930629 -0.5882353 0.33
   [8,] 2.4077543 -0.3529412 0.33
   [9,] 1.3403296 -0.1176471 0.33
  [10,] 2.1934367  0.1176471 0.33
  [11,] 0.6460858  0.3529412 0.33
  [12,] 1.1592440  0.5882353 0.33
  [13,] 0.4269729  0.8235294 0.33
  [14,] 0.6198062  1.0588235 0.33
  [15,] 1.3493747  1.2941176 0.33
  [16,] 1.1250785  1.5294118 0.33
  [17,] 1.9192593  1.7647059 0.33
  [18,] 1.4157916  2.0000000 0.33

Simule ˆθ :

  > set.seed(1236)
  > pf<-rnorm(100)

Simule o padrão de resposta em função dos parâmetros e da habilidade:

  > dados.sim<-sim(ip=pa,x=pf)

Obtenha as estimativas de um modelo com 3 parâmetros,:

  > require(ltm)
  > dados.tpm<-tpm(dados.sim,constraint = cbind(1:18, 1, 0.33))
  > coef(dados.tpm)

          Gussng      Dffclt    Dscrmn
  Item 1    0.33 -1.61927398 0.6234960
  Item 2    0.33 -2.09516792 0.6396838
  Item 3    0.33 -2.30928419 1.6131551
  Item 4    0.33 -0.29932386 0.8661321
  Item 5    0.33 -1.35493738 1.5896167
  Item 6    0.33 -3.15976690 0.4083628
  Item 7    0.33 -0.94611590 1.1435501
  Item 8    0.33 -0.80065098 2.1353497
  Item 9    0.33  0.24145882 1.9554742
  Item 10   0.33 -0.22772459 3.1784585
  Item 11   0.33  0.06480098 0.4083328
  Item 12   0.33  0.48424558 4.2162147
  Item 13   0.33  0.80956878 0.8410591
  Item 14   0.33  1.80068781 0.5857634
  Item 15   0.33  1.33313218 0.9144555
  Item 16   0.33  0.89631520 2.5332931
  Item 17   0.33  1.56788678 1.8118367
  Item 18   0.33  2.28620915 1.0794860

5.2 Simulação utilizando o pacote ltm

No pacote ltm existe a função rmvlogis() para simulação de padrões de resposta dicotômicos ou politômicos para modelos da TRI.

Para simular dados considerando o modelo de Rasch utilize a seguinte sintaxe, considerando 5 itens e 10 respondentes:

  > rmvlogis(10,cbind(seq(-2,2,1),1))

        [,1] [,2] [,3] [,4] [,5]
   [1,]    1    0    0    0    1
   [2,]    1    0    0    0    0
   [3,]    0    1    0    1    1
   [4,]    1    0    1    0    0
   [5,]    1    1    1    1    0
   [6,]    0    0    1    1    0
   [7,]    1    0    0    1    0
   [8,]    1    0    1    0    0
   [9,]    1    1    0    0    0
  [10,]    1    0    1    0    0

Veja a estrutura de cbind:

  > cbind(seq(-2,2,1),1)

       [,1] [,2]
  [1,]   -2    1
  [2,]   -1    1
  [3,]    0    1
  [4,]    1    1
  [5,]    2    1

Para simular um padrão considerando um modelo de resposta gradual:

  > thetas <- lapply(1:5, function(u) c(seq(-1, 1, len = 2), 1.2))
  > rmvordlogis(10, thetas)

        [,1] [,2] [,3] [,4] [,5]
   [1,]    3    3    3    1    2
   [2,]    2    2    3    2    2
   [3,]    1    1    1    1    1
   [4,]    3    3    3    2    3
   [5,]    3    2    3    3    3
   [6,]    2    1    2    1    2
   [7,]    2    2    2    2    2
   [8,]    2    1    2    2    2
   [9,]    2    1    1    1    2
  [10,]    3    3    2    3    2