我正在使用for循环使用" pbinom"获取一组p值。功能。值1:5简称为观察计数,21表示样本量,0.05表示成功概率:
for ( i in 1:5) {
print (1 - pbinom(i, 21, 0.05))
}
[1] 0.2830282
[1] 0.08491751
[1] 0.01888063
[1] 0.00324032
[1] 0.0004415266
此代码工作正常,但它只是在命令提示符上输出值,如上所述。
我的问题是,如何将输出存储在变量中?
我试过
output<-for ( i in 1:5) {
print (1 - pbinom(i, 21, 0.05))
}
但是当我输入&#34;输出&#34;时,我收到了#34; NULL&#34;作为回应。
任何帮助将不胜感激, 感谢。
答案 0 :(得分:4)
根本不使用for
循环。 pbinom
是矢量化的。只是做
(output <- 1 - pbinom(1:5, 21, 0.05))
## [1] 0.2830281552 0.0849175139 0.0188806334 0.0032403196 0.0004415266
在最糟糕的情况下,您可以使用sapply
代替默认输出向量,例如
(output <- 1 - sapply(1:5, pbinom, 21, 0.05))
## [1] 0.2830281552 0.0849175139 0.0188806334 0.0032403196 0.0004415266
答案 1 :(得分:1)
你不能将for循环传递给这样的变量。你可以试试这个:
output=c()
for (i in 1:5){
output[i]=(1-pbinom(i,21,0.05))
}
然后输入:
output
R将产生:
[1] 0.2830281552 0.0849175139 0.0188806334 0.0032403196 0.0004415266