【问题标题】:Why does times argument in rep function not behaving correctly [duplicate]为什么 rep 函数中的 times 参数行为不正确[重复]
【发布时间】:2021-01-25 16:44:57
【问题描述】:

这个问题的答案可能很简单,但我想不出明显的原因。

为什么rep(1,40*(1-0.8)) 的向量长度为​​ 7 而不是 8?任何人请。

【问题讨论】:

    标签: r arguments rep


    【解决方案1】:

    这是由于浮点精度:

    print(40*(1-0.8), digits = 20)
    ## [1] 7.9999999999999982
    

    round可以用:

    rep(1, round(40*(1-0.8)))
    ## [1] 1 1 1 1 1 1 1 1
    

    【讨论】:

    • 我是这么认为的,但我还是很困惑!为什么 0.2*40 不是整数?
    • 尝试打印(1-0.8,digits = 20)
    • @AnilGoyal 我已将该问题标记为常见问题解答的副本 - 请参阅常见问题解答以获取关于为什么 .2 * 40 不是整数的非常详细的说明。
    • 0.2 * 40 是一个整数,但 1-0.8 不完全是 0.2
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-24
    • 2021-09-27
    • 1970-01-01
    • 1970-01-01
    • 2015-12-31
    • 1970-01-01
    相关资源
    最近更新 更多