【发布时间】:2020-10-04 19:00:53
【问题描述】:
我在最后粘贴了我遇到问题的代码。它包含 R 命令行来显示观察到的正确响应与第 1 组能力得分水平的比例。 第 1 组的能力下限用 t1l 指定,这意味着 theta-1-lower;组 1 的能力上限由 t1u 指定,这意味着 theta-1-upper: 在此代码之前,还有另一个代码将 theta 定义如下:
theta <- seq(-3, 3, .1875)
f <- rep(21, length(theta))
然后提到了这段代码。我的理解是,这段代码在 2 个边界之间找到了一些值。但是觉得如果我想在 1 和 3 之间找到一些东西,那么我应该编写一个代码,说明我想找到小于 3 和大于 1 的值。 但是,此代码为下界执行此操作
theta[g] <= t2l) { lowerg1 <- lowerg1 + 1 }
这意味着它找到小于 1 的值?小于 1 的值类似于 0 、 -1 -2 等,我们希望在 1 和 3 之间找到值。我觉得我们应该改为说 theta[g] >= t2l) 以便我可以找到大于 1 的值所以我可以找到像 2 这样介于 3 和 1 之间的值 它对上限做同样的事情。但这会发现所有低于 3 的值,而不仅仅是在 3 和 1 之间
theta[g] <= t2u)
这就是我想象正在发生的事情的方式 https://i.stack.imgur.com/uPiiS.png 这就是我觉得事情应该是的样子 https://i.stack.imgur.com/Jyly1.png
t2l <- 1
t2u <- 3
lowerg1 <- 0
for (g in 1:length(theta)) {
if (theta[g] <= t2l) { lowerg1 <- lowerg1 + 1 }
}
upperg1 <- 0
for (g in 1:length(theta)) {
if (theta[g] <= t2u) { upperg1 <- upperg1 + 1 }
}
theta2 <- theta[lowerg1:upperg1]
p2 <- p[lowerg1:upperg1]
if (mdl == 1) { maintext <- paste("Group 2", "\n") }
if (mdl == 2) { maintext <- paste("Group 2", "\n") }
if (mdl == 3) { maintext <- paste("Group 2", "\n") }
plot(theta2, p2, xlim=c(-3,3), ylim=c(0,1),
xlab="Ability", ylab="Probability of Correct Response",
main=maintext)
【问题讨论】:
标签: r statistics measurement