我本质上是在计算我希望绘制的概率。 我的目标是将它们放在列表或向量中,但我在这样做时遇到了麻烦。 我写了这个 for 循环,我可以打印出所有值,但我似乎无法将它们存储在列表中。
probs <- list()
for (i in seq(0,1,length=100)) {
append(probs,1 - mean(rbinom(100000,6,i)==4))
}
我已经能够打印我的结果(见下文(,但不能存储它们。
for (i in seq(0,1,length=100)) {
print(1 - mean(rbinom(100000,6,i)==4))
}
当我看到概率列表中的内容时,我得到一个空list
. 为什么会这样呢?
append
不会改变列表,它只是返回一个新的list
,因为它没有保存在任何地方而丢失。
试试这个:
probs <- list()
for (i in seq(0,1,length=100)) {
probs <- append(probs,1 - mean(rbinom(100000,6,i)==4))
}
或改用vector
:
probs <- vector()
for (i in seq(0,1,length=100)) {
probs <- append(probs,1 - mean(rbinom(100000,6,i)==4))
}
probs # obviously it varies per execution
[1] 1.00000 1.00000 1.00000 0.99999 0.99994 0.99988 0.99981 0.99971 0.99946
[10] 0.99921 0.99864 0.99824 0.99758 0.99674 0.99573 0.99466 0.99271 0.99031
[19] 0.98862 0.98669 0.98389 0.98074 0.97781 0.97457 0.97028 0.96523 0.96225
[28] 0.95483 0.94936 0.94447 0.93965 0.93278 0.92486 0.91704 0.90908 0.90305
[37] 0.89365 0.88608 0.87596 0.86834 0.85762 0.84787 0.83998 0.82830 0.81918
[46] 0.80843 0.80078 0.78881 0.77933 0.77061 0.76032 0.75416 0.74201 0.73520
[55] 0.72575 0.71545 0.70855 0.70364 0.69809 0.69209 0.68604 0.68294 0.67610
[64] 0.67491 0.67463 0.67226 0.67048 0.66950 0.67413 0.67556 0.67900 0.68065
[73] 0.68591 0.69526 0.70135 0.70930 0.71619 0.72765 0.73874 0.75130 0.76355
[82] 0.77658 0.79165 0.80553 0.82090 0.83728 0.84947 0.86944 0.88331 0.90126
[91] 0.91595 0.92875 0.94334 0.95669 0.96918 0.97930 0.98813 0.99400 0.99856
[100] 1.00000