R函数rep()的问题

时间:2017-01-20 22:57:06

标签: r

我遇到了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。

1 个答案:

答案 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。