2009-12-15 9 views
2

Je travaille sur un grand document/script Sweave sur un système Mac OS X, R version 2.9.2. Dans certaines circonstances, il semble que Sweave redirige stdout, de sorte que x <- 1; print(x) ne donne rien du tout. (La console est toujours en cours d'exécution, comme plot(x) ouvre une parcelle normalement.) Alors, deux questions:Perd stdout dans la console R sous Mac OS X

  1. Comment forcer stdout pour revenir à la console, et,
  2. Pourquoi Sweave faire cela , et comment?

Répondre

2

Trouvé, avec une utilisation étendue de RSeek. La fonction sink() redirige la console vers un fichier. sink(NULL) annule la redirection. Toujours pas tout à fait sûr pourquoi Sweave met en place un évier. Je soupçonne que des bogues dans mon code provoquaient l'abandon de Sweave sans annuler l'évier.

+0

ça m'arrive souvent, et d'habitude je ne fais que redémarrer la session R. Maintenant, j'ai une meilleure solution, merci! –