R 문항특성곡선 그리기

1 개요[ | ]

R 문항특성곡선 그리기

2 1개 그리기[ | ]

p.a <- 1    # 변별도
p.b <- 0    # 난이도
p.c <- 0.25 # 추측도

D <- 1.702
f <- function(x) {p.c+(1-p.c)/(1+exp(-p.a*D*(x-p.b)))}
x <- seq(-4, 4, .05)
plot(x, f(x), type='l', ylim=c(0,1),
     main="Item Characteristic Curves",
     xlab="Ability",
     ylab="Probability")

3 여러 개 그리기[ | ]

plotICC <- function(items) {
  D <- 1.702
  x <- seq(-4, 4, .05)
  len <- length(items$a)
  offset <- seq(-0.5, 0.5, length=len)
  for( i in 1:len ) {
    p1 <- items$a[i]
    p2 <- items$b[i]
    p3 <- items$c[i]
    f <- function(x) {p3+(1-p3)/(1+exp(-p1*D*(x-p2)))}
    if( i == 1 ) plot(x, f(x), type='l', col=i, ylim=c(0,1),
                      main="Item Characteristic Curves",
                      xlab="Ability",
                      ylab="Probability")
    else lines(x, f(x), type='l', col=i, ylim=c(0,1))
    t <- p2 + offset[i]
    text(t, f(t), adj=c(0,2), labels=c(paste('Item',i)), col=i)
  }
}

items <- data.frame(
  a = c(1,  1, 1, 0.5, 0.5 ), # 변별도
  b = c(0, -1, 1, 0,   0   ), # 난이도
  c = c(0,  0, 0, 0,   0.33)  # 추측도
)
plotICC(items)

4 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}