gpt4 book ai didi

r - 两个理论上相同的代码不会产生相同的输出

转载 作者:行者123 更新时间:2023-12-05 00:09:49 25 4
gpt4 key购买 nike

我正在尝试在 中运行例程电话 ,涉及复制随机实验。我遇到了输出维度的错误,这让我发现了以下特点:

length(replicate(100 - 100*8 / 10, 4))
# 20
length(replicate(100 *(1- 8/ 10), 4))
# 19

作为完整性检查,我运行了代码行以确保 replicate 的第一个参数中的表达式。产生相同的输出。
100 - 100*8 / 10
# 20
100 *(1- 8/ 10)
# 20

我想知道人们是否遇到同样的问题。我真正想知道的是,为什么会发生这种情况?

注意:我知道 rep 之间的区别和 replicate ,而我的例程需要后者,而不是前者。

最佳答案

不完全一样

(100 *(1- 8/ 10)) == 20
#[1] FALSE

(100 - 100*8 / 10) == 20
#[1] TRUE

因为
20 - (100 *(1- 8/ 10))
#[1] 3.552714e-15

n?replicate是一个整数

n - integer: the number of replications.



将该输出转换为 integer floor秒到 19
as.integer((100 *(1- 8/ 10)))
#[1] 19

floor((100 *(1- 8/ 10)))
#[1] 19

一种选择是用 ceiling 包裹
length(replicate(ceiling(100 *(1- 8/ 10)), 4))
#[1] 20

关于r - 两个理论上相同的代码不会产生相同的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59865450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com