Comment mettre en pause un script R pendant un nombre spécifié de secondes ou de millisecondes? Dans de nombreuses langues, il existe une fonction sleep
, mais ?sleep
fait référence à un ensemble de données. Et ?pause
et ?wait
n'existent pas.
Le but visé est de créer des animations à synchronisation automatique. La solution souhaitée fonctionne sans demander la saisie de l'utilisateur.
Voir help(Sys.sleep)
.
Par exemple, de ?Sys.sleep
testit <- function(x)
{
p1 <- proc.time()
Sys.sleep(x)
proc.time() - p1 # The cpu usage should be negligible
}
testit(3.7)
Céder
> testit(3.7)
user system elapsed
0.000 0.000 3.704
Sys.sleep () ne fonctionnera pas si l'utilisation du processeur est très élevée; comme dans d'autres processus critiques de haute priorité en cours d'exécution (en parallèle).
Ce code a fonctionné pour moi. Ici, j'imprime 1 à 1000 à un intervalle de 2,5 secondes.
for (i in 1:1000)
{
print(i)
date_time<-Sys.time()
while((as.numeric(Sys.time()) - as.numeric(date_time))<2.5){} #dummy while loop
}