Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R功率与信号强度代码_R - Fatal编程技术网

R功率与信号强度代码

R功率与信号强度代码,r,R,我希望有一个有新眼光的人能在这里帮助我!我试图发现一个实验的力量,所以我做了以下几点: 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.r

我希望有一个有新眼光的人能在这里帮助我!我试图发现一个实验的力量,所以我做了以下几点:

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)

很明显,我在某个地方犯了一个愚蠢的错误,花了一整天的时间重新键入,以确保没有遗漏括号,等等,但一切似乎都正常。我有一种感觉,它和9和斜率值有关,我从glm中获得,但这可能是错误的?提前谢谢。

试试这个:就在(1:10中的j)的
之后,{
放入
browser()
…然后在命令行提交代码之前键入:
options(warn=2)

因此,当您收到错误或警告(我认为该消息是什么)时,您可以检查任何变量以获取其当前值。警告的默认值为1,完成后应将其设置回原来的值


(我怀疑,与您一起,您会发现9-(-some_slope)*some_height为rpois调用提供了负值。(rpois的预期值确实需要为正值,对吗?)

您指出的错误在
get.p.value(-0.5)
中找到。查看函数内部显示您给出了这个(
-0.5
rpois的值为
,不能将负数作为参数

我真的不知道您想做什么,但是您可以使用
get.p.value(0.5)
运行代码

祝你好运!

一些观察结果:

glm
函数中,您有“分数”,但没有定义。您是指“社交”吗? 在
for
循环中,您有
for(i In 1000)
,我想您的意思是
for(i In 1:1000)

 p.vals[-0.5] <- get.p.value(-0.5)
给我一个3.16*10^-107的结果,非常接近于0。这对我来说很有意义,因为我认为您的代码是在问“如果我从模型中删除所有信息,拥有任何信息的价值是什么?”


我可能会在这里偏离基准……但希望这对您有所帮助!

您愿意缩进并注释您的代码吗?您的泊松比(λ)不能小于0。很抱歉没有缩进。我真的不明白泊松速率,你能进一步解释吗?在0下我只能看到-0.5,但我直接从笔记中复制了它们。我对R很失望,对不起。
rpois
根据泊松分布生成一个随机数。“速率”是参数区域需要的仪表(表示发生事件的平均数量)。从这里开始阅读:谢谢!我终于让它工作了,但是我的斜率与功率图太奇怪了。
 p.vals[-0.5] <- get.p.value(-0.5)
test.results$"P(>|Chi|)"[2]