J'ai un problème: j'exécute une boucle pour traiter plusieurs fichiers. Mes matrices sont énormes et donc je manque souvent de mémoire si je ne fais pas attention.
Existe-t-il un moyen de sortir d'une boucle si des avertissements sont créés? Il continue juste à exécuter la boucle et rapporte qu'il a échoué beaucoup plus tard ... ennuyeux. Des idées oh sages stackoverflow-ers?!
options(warn=1)
pour restaurer le paramètre par défaut.options("warn"=0)
.op=options(warn=2)
, 2) faire votre travail, puis 3) réinitialiser avecoptions(op)
, ce qui vous ramènewarn=0
dans ce cas.R vous permet de définir un gestionnaire de conditions
ce qui se traduit par
L'exécution se poursuit après tryCatch; vous pouvez décider de terminer en convertissant votre avertissement en erreur
ou gérer la condition avec élégance (évaluation continue après l'appel d'avertissement)
qui imprime
la source
for
serait encore mieux :)Définissez l'
warn
option globale :Notez qu'un "avertissement" n'est pas une "erreur". Les boucles ne se terminent pas pour les avertissements (sauf si
options(warn=2)
).la source