好久没有发帖子了,最近又搞了一波IRT,这是一个教程帖子,同时又是一个问答帖子。问题在后面。
一、ltm包进行参数估计
1.首先安装R语言,网上有教程,不说了。
2.安装ltm包,打开R,R里面有个控制台。输入
然后会弹出一个镜像源,点击选择shanghai的镜像源那个即可。
3.导入ltm包
4.打开ltm自带的数据
可以看到里面一共有392个样本。
5.获取irt的项目参数,这里使用的是等级响应模型。返回的是irt的区分度和难度,不是斜率和截距。其他的参数可以参考ltm包的官方文档
6.如果想获得斜率和截距,需要这个IRT.para这个参数为FALSE,默认值是TRUE。官方是这么解释的,if TRUE then the coefficients’ estimates are reported under the usual IRTparameterization.
7.
获得能力参数的方法,返回的值里面有个z1就是能力参数,原本Science里面有392个样本,我不知道为啥会返回298个样本的能力值。希望知道的大神解答一下,在此谢过。如果把resp.patterns=Science加到fit.scores里面就能返回392样本的结果了,但是z1的结果跟没加的之前的不一样8.如果你想用着这批392样本个题目参数,去估计另外一批样本。假如另一批样本的变量叫做other,那么
9.如果你想使用本地的数据来进行参数估计,假如本地数据的路径是:
D:\\data\\rdata.csv(ps:必须要两根斜线,否则报错)10.ps: 一般r语言中的赋值符号为 <-, 我这里用了=,结果是一样的。
二、python调用r语言的方法
1.安装rpy2,网上有教程。
2.程序如下。
分享一下本地数据的格式吧,把xls后缀改成csv即可。