L'impression repetetively sur la même ligne dans la R
Je me demandais juste quelle est la meilleure façon dans la R de garder à l'impression sur la même ligne dans une boucle, afin d'éviter l'envahissement de votre console? Disons que pour imprimer une valeur indiquant vos progrès, comme dans
for (i in 1:10) {print(i)}
Edit:
J'ai essayé d'insérer des retours chariot avant chaque valeur dans
for (i in 1:10000) {cat("\r",i)}
mais qui ne fonctionne pas comme il vient de mettre à jour la valeur sur l'écran après la boucle, juste de retour de 10000 dans ce cas.... Toutes les pensées?
NB ce n'est pas de faire une barre de progression, comme je sais qu'il y a diverses fonctionnalités pour ça, mais juste pour être en mesure d'imprimer des informations au cours de la progression de certains boucle sans envahissement de la console
- Pour une simple barre de progression, vérifier ?txtProgressBar
- Peut-être l'arrêt de l'impression à chaque fois? La manière habituelle est
if(i%%100 ==0) print('working...')
- Oui merci Carl - je l'utiliser beaucoup, mais même alors, il peut être agréable de ne pas marais de la console avec la sortie...
Vous devez vous connecter pour publier un commentaire.
Vous avez la réponse, c'est juste de boucle trop vite pour vous de voir. Essayez:
EDIT: en Fait, c'est très proche de @Simon O'Hanlon réponse, mais compte tenu de la confusion dans les commentaires et le fait que ce n'est pas exactement la même chose, je vais le laisser ici.
"\r"
!! J'ai dit que certains étincelle brillante serait la figure it out!Essayez d'utiliser
cat()
...cat()
effectue beaucoup moins de conversion deprint()
(à partir de la chevaux de la bouche).À plusieurs reprises de les imprimer dans le même lieu, vous devez effacer la console. Je ne connais pas d'autre façon de le faire, mais grâce à cette grande réponse cela fonctionne (dans RStudio sur Windows): au moins
Bien... etes-vous inquiet sur les blocages, ou simplement être informé lorsque le travail est terminé?
Dans le premier cas, je garderais w/mon
j%%N
suggestion, oùN
est assez grand que vous ne le marais de la console.Dans le second cas, ajouter une dernière ligne de votre script ou de la fonction qui, par exemple, les appels "Bip" .