我已完成以下R代码。 但是,出现“要替换的项目数不是替换长度的倍数”的消息。
我该如何解决这个问题?提前感谢您的建议!!
irtp <- function(t1, t2, a1, a2, b, c, pexp) {
d <- -b*sqrt(a1^2+a2^2)
pexp <- c+(1-c)/(1+exp(-((theta1*a1)+(theta2*a2)+d)))
return(pexp)
}
###set seed for randdon number
seed<- 98765432
set.seed(seed, kind = NULL, normal.kind = NULL)
### Number of examinee
N <- 1000
### Number of items
kitem <- 20
### Simulate latent trait scores ~ N[0,1]
theta1 <- rnorm(N, 0,1)
theta2 <- rnorm(N, -0.5, 1)
alpha1 <- runif(kitem, 0.2, 0.5)
alpha2 <- runif(kitem, -1, 0.5)
beta <- rep(0.8, kitem)
guess <- rep(-0.5, kitem)
#setup matrix
P <- matrix(nrow=N,ncol=kitem)
for(i in 1:N){
for(k in 1:kitem){
P[i,k] <- irtp(theta1[i], theta2[i], alpha1[k], alpha2[k],
beta[k], guess[k], pexp)
}
}
#print(P)
答案 0 :(得分:0)
这意味着 P 的长度与该函数的新P不相符。您应该更改参数以匹配函数中的参数。
irtp <- function(**theta1, theta2**, a1, a2, b, c, pexp) {
d <- -b*sqrt(a1^2+a2^2)
pexp <- c+(1-c)/(1+exp(-((theta1*a1)+(theta2*a2)+d)))
return(pexp)
}