gpt4 book ai didi

r - 无操作函数作为 stopifnot() 的条件替换

转载 作者:行者123 更新时间:2023-12-04 14:03:54 25 4
gpt4 key购买 nike

R 中是否有无操作函数,以便即使评估参数很昂贵,它也会立即返回?我正在寻找 stopifnot 的有条件替换功能。

> noop(runif(1e20))
# returns immediately and uses no memory

最佳答案

我认为这样做会:

noop <- function(...) invisible(NULL)

因为懒惰的评估在这里解决了:
R> system.time(replicate(1e4, noop(runif(1e2))))
user system elapsed
0.01 0.00 0.01
R> system.time(replicate(1e4, noop(runif(1e5))))
user system elapsed
0.01 0.00 0.02
R> system.time(replicate(1e4, noop(runif(1e8))))
user system elapsed
0.01 0.00 0.01
R> system.time(replicate(1e4, noop(runif(1e11))))
user system elapsed
0.01 0.00 0.01
R>

所以即使我们增加 N 也看不到运行时间增加。

关于r - 无操作函数作为 stopifnot() 的条件替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10933671/

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