df <- read.csv("https://github.com/jmnote/zdata/raw/master/github.com/cran/ltm/data/LSAT.csv")
library(ltm)
model <- rasch(df,constraint=cbind(ncol(df)+1,1))
# 로그우도
model$log.Lik
# 문항정보곡선
plot(model, "IIC")
df <- read.csv("https://github.com/jmnote/zdata/raw/master/github.com/cran/ltm/data/LSAT.csv")
library(irtplay)
model <- est_irt(data=df, model="1PLM", fix.a.1pl=TRUE, verbose=FALSE)
coef(model)
plotICC <- function(model) {
p1 <- model$estimates$par.1
p2 <- model$estimates$par.2
p3 <- model$estimates$par.3
p3[is.na(p3)] <- 0
D <- model$scale.D
z <- seq(-4, 4, length=100)
len <- nrow(model$estimates)
pos <- round(seq(10, 90, length=len))
for( i in 1:len ) {
f <- function(x) {p3[i]+(1-p3[i])*plogis(p1[i]*D*(x-p2[i]))}
if( i == 1 ) plot(z, f(z), type='l', col=i, ylim=c(0,1),
main="Item Characteristic Curves",
xlab="Ability", ylab="Probability")
else lines(z, f(z), type='l', col=i, ylim=c(0,1))
text(z[pos[i]], f(z[pos[i]]), adj=c(0,2), labels=c(paste('Item',i)), col=i)
}
}
plotICC(model)