我遇到了R函数 rep 的问题,或者说我做错了更简单。
k = ((100)*(1-0.9))
k # k = 10
length(rep(0,times = k)) # length of 9 instead of 10
length(rep(0,times = 10) # length of 10 !
这非常奇怪,因为变量k的值为10。
答案 0 :(得分:2)
仔细查看k
。它不是整数,也不是10。
typeof(k)
# [1] "double"
print(k, digits = 22)
# [1] 9.999999999999998223643
我们关心k
是整数值,因为times
的{{1}}参数应该是整数。此外,来自rep()
:
help(rep)
的非整数值将被截断为零。
所以times
变为
k
请参阅评论中留下的@Gregor链接,了解为什么trunc(k)
# [1] 9
不是10。