R中rep()的意外行为
我试图使用R中rep()的意外行为,r,R,我试图使用rep()函数在R中创建一个向量 p <- .9 n <- 100 rep(8,n*(1-p)^2) # expect 8 p原因在于对问题的评论。解决方法是使用: rep(8, round(n*(1-p)^2)) 浓缩评论。rep的第二个参数应该是整数。从帮助页面:?as.integer,我们知道实数被截断为零。所以 n*(1-p)^2 传给 as.integer(n*(1-p)^2) 它等于0@Frank-yep,as.integer(n*(1-p)^2)返回0
rep()
函数在R中创建一个向量
p <- .9
n <- 100
rep(8,n*(1-p)^2) # expect 8
p原因在于对问题的评论。解决方法是使用:
rep(8, round(n*(1-p)^2))
浓缩评论。rep
的第二个参数应该是整数。从帮助页面:?as.integer
,我们知道实数被截断为零。所以
n*(1-p)^2
传给
as.integer(n*(1-p)^2)
它等于0
@Frank-yep,as.integer(n*(1-p)^2)
返回0
-as.integer(0.99999)
这基本上是常见问题7.31,例如@Dave等同(n*(1-p)^2,1)
是假的,正如n*(1-p)^2==1
一样。R不能精确地存储这些数字。