gpt4 book ai didi

algorithm - 如何最好地在 R 中创建定时器函数

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:44:13 27 4
gpt4 key购买 nike

我正在尝试在 R 中创建一个函数,该函数在函数调用 1 后的前 x 秒返回,接下来的 x 秒返回 0,接下来的 x 秒再次返回 1,...整个过程应该在另一个时间后停止间隔或 n 次迭代后。我想通过一个函数调用来完成此操作。

我阅读了 tcltk 包,它显然包含创建此类“计时器”函数的一些可能性,但是我没有找到足够的解释来解决我的问题。

你能告诉我在哪里可以找到一本很好的手册,在 R 的上下文中解释 tcl 吗?对于如何高效地创建这样的函数,您有其他想法吗?

非常感谢您的帮助。

最佳答案

如果我没理解错的话,你正在尝试创建一个函数,它会在前 x 秒内调用时返回 1,然后在接下来的 x 秒内调用时返回 0,然后在接下来的 x 秒内返回 1等。经过一定的 total 时间后,它应该“完成”,也许返回 -1?

您可以使用以下函数执行此操作,该函数将“创建”具有任何所需间隔的函数:

flipper <- function(interval=10, total = 60) {
t0 <- Sys.time()
function() {
seconds <- round(as.double( difftime(Sys.time(), t0, u = 'secs')))
if(seconds > total)
return(-1) else
return(trunc( 1 + (seconds / interval ) ) %% 2)
}
}

您可以使用它来创建一个函数,该函数在前 60 秒内每 10 秒在 0 和 1 之间交替,并在 60 秒后返回 -1:

> flp <- flipper(10,60)

现在调用 flp() 将具有您正在寻找的行为,即当您在接下来的 60 秒内调用 flp() 时,它将在 1 和每 10 秒返回 0,然后在 60 秒后返回 -1。

关于algorithm - 如何最好地在 R 中创建定时器函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4853596/

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