[問題] 利用R模擬受試在某些題目上亂猜的反應

看板R_Language作者 (望盡天涯路)時間10年前 (2014/02/05 17:33), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 新手(沒寫過程式,R 是我的第一次) 其實這個分類好難選啊XD 我有用過R的一些package進行分析,只是以前資料的產生 都是利用Excel來產出,目前想學習如何利用程式來達到此目的。 [問題敘述]: 在試題反應理論(IRT)中,藉由受試者的能力參數、試題參數(難度、鑑別度、 猜測度)可以估計出該名受試通過某題的機率,再將其與隨機產生的亂數進行比較 ,就可以得到受試可能的答題反應。 目前在參考一些書籍與網路資源後,我已經可以產生正確的答題反應了,但接著我 想模擬產生低能力者(能力參數低於0)假性高分,隨機答對的情況。也就是說這些 低能力者原本答錯的試題被隨機置換為正確(25%的答對率)。 [程式範例]: #正確的答題反應 theta <<- sort(runif(100,-3,3)) #產生能力參數 delta <<- sort(runif(15,-2,2)) #產生試題難度參數 theta.matrix <<- matrix(theta,100,1) %*% matrix(1,1,15) #能力參數矩陣 delta.matrix <<- matrix(1,100,1) %*% matrix(delta,1,15) #難度參數矩陣 logs1 <<- theta.matrix-delta.matrix #能力-難度參數矩陣 probs <<- (1+exp(-logs1))^-1 #各題答對機率 Random_ <<- runif(100*15) #作為與答對機率比較的隨機機率 Data <<- ifelse(matrix(Random_,100,15) > probs,0,1) #正確的答題反應 #異常作答反應 #假性高分:能力值低於0者被挑選出來,其答錯試題被隨機置換為正確答案。 Aberr1<<-which(theta <0, arr.ind=T) .................................................................. 其實到怎麼產生作假的作答反應,我就整個卡住了。 我目前的想像是利用邏輯判斷找出低能力者,再將他們答錯的反應挑出後, 產生0、1的數列,其中1僅佔25%。但怎麼做到這樣的想像,且還要將這些作答反 應置換回原先的正確答題反應中,產生一個假性高分的資料矩陣真的是陷入鬼打牆 的迴圈啊!!! 這樣的問題,好像很簡單,但真的不曉得怎麼挑出人與產生這樣的虛假反應, 再請各位先進與專家協助指點迷津了~ 我也會繼續嘗試,感謝啊!!!! [關鍵字]: 機率、矩陣置換、資料產生 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.43.249.127
文章代碼(AID): #1IyWLxiK (R_Language)
文章代碼(AID): #1IyWLxiK (R_Language)