R中rep()的意外行为

时间:2015-03-09 22:49:30

标签: r

我正在尝试使用rep()函数

在R中创建一个向量
p <- .9
n <- 100
rep(8,n*(1-p)^2) # expect 8

导致意外行为的原因是什么?

2 个答案:

答案 0 :(得分:0)

原因在于对问题的评论。解决方法是使用:

rep(8, round(n*(1-p)^2))

答案 1 :(得分:0)

冷凝评论。 rep的第二个参数应该是整数。在帮助页面:?as.integer,我们知道实数被截断为零。所以

n*(1-p)^2

传递给

as.integer(n*(1-p)^2)

等于0