web-dev-qa-db-fra.com

Comment puis-je obtenir toutes les sorties du script que je lance dans RStudio

Je veux voir la sortie d'un script qui a 149 lignes. Tout au long du script, il y a des tableaux que je veux voir. J'utilise RStudio IDE. Dans le passé, j'ai utilisé Tinn-R. Je voudrais exécuter le script entier et les lignes de code et les objets imprimés seraient visibles dans la console. 

par exemple, voici un extrait

attach(uniquehuman.race.eth)
partA.eth <-table(Ethnicity, Sex,useNA="ifany")
partA.eth
margin.table(partA.eth,1)#row totals
margin.table(partA.eth,2)#column totals
nrow(uniquehuman.race.eth)#total logged in

Le code ci-dessus donnerait une sortie texte des tableaux et les nombres dont j'avais besoin. Je pourrais alors sauvegarder la console ou copier et coller le tout dans un fichier texte. 

Comment puis-je faire cela dans RStudio. La chose la plus proche à laquelle j'arrive est d'appuyer sur CTRL-ENTER sur chaque ligne, mais je ne veux pas le faire 149 fois. Si je tape CTRL-SHIFT-ENTER pour "run all", alors R traite toutes les données et met les objets en mémoire mais je ne vois pas la sortie. 

S'il vous plaît dites-moi comment je peux voir tout le résultat et/ou envoyer le résultat dans un fichier texte. 

19
Farrel

Je suis l'un des développeurs de RStudio. Merci pour les commentaires - je vais enregistrer un bogue.

En attendant, une solution consiste à exécuter source(filename, echo=T) à partir de la console.

23
Joe Cheng

Vous pouvez simplement sélectionner le code que vous voulez exécuter et appuyer sur CTRL+ENTER pour faire ce que vous voulez dans RStudio. Cela fonctionne pour plusieurs lignes, exactement comme dans Tinn-R. Si vous voulez tout exécuter en même temps, vous appuyez sur CTRL-A CTRL-ENTER

Comme autre option pour enregistrer dans un fichier texte, vous pouvez vérifier ?sink:

sink(file='path/to/somefile.ext')
... # the code generating output
sink()

sink() redirige toute la sortie de la console vers une connexion, dans ce cas un fichier. Remarquez que ceci n’est que la sortie standard, pas les avertissements ou les erreurs. Cette commande est également utile pour créer des fichiers de sortie dans les analyses, en combinaison avec print(), cat(), sprintf() etc.

Si vous utilisez "run all" dans RStudio, vous devez utiliser explicitement l'une des fonctions mentionnées pour générer la sortie dans le fichier. En principe, RStudio s'exécute en mode silencieux si vous exécutez l'intégralité du script.

10
Joris Meys

Utilisez les options (verbose = TRUE) pour imprimer toutes les sorties dans le script ou la session.

1
MarkD