Я надеюсь, что кто-то со свежими глазами сможет помочь мне здесь! Я пытаюсь раскрыть силу эксперимента, поэтому сделал следующее:
height <- seq(0, 151)
social <- rpois(length(height), 9 + 0.2 * (height))
m2 <- glm(score ~ height, family = poisson)
summary(m2)
m3 <- update(m2, ~. - height)
anova(m2, m3, test = "Chi")
test.results <- anova(m2, m3, test = "Chi")
names(test.results)
test.results$"P(>|Chi|)"
test.results$"P(>|Chi|)"[2]
get.p.value <- function(slope) {
social <- rpois(length(height), 9 + slope * (height))
m2 <- glm(score ~ height, family = poisson)
m3 <- update(m2, ~. - r.hand)
anova(m2, m3, test = "Chi")$"P(>|Chi|)"[2]
}
p.vals <- numeric(1000)
for (i in 1000) {
p.vals[-0.5] <- get.p.value(-0.5)
}
p.vals
power.of.test <- length(p.vals[p.vals < 0.05])/length(p.vals)
power.of.test
slope.line <- seq(-0.2, -1.1, -0.1)
p.vals <- numeric(100)
power.of.test <- numeric(10)
for (j in 1:10) {
for (i in 1:100) p.vals[i] <- get.p.value(slope.line[j])
power.of.test[j] <- length(p.vals[p.vals < 0.05])/length(p.vals)
}
plot(slope.line, power.of.test)
Однако, это производит:
In rpois(length(height), 9 + slope * (height)) : NAs produced
Я, очевидно, где-то совершил глупую ошибку и провел весь день, перепечатывая ее, чтобы убедиться, что я не пропускаю скобки и т. Д., Но все, кажется, в порядке. У меня такое ощущение, что это как-то связано со значением 9 и уклоном, которое я получил из glm, но это может быть неправильно? Заранее спасибо.