7
votes

Comment paginer R Sortie?

Je lisais le code source R essayé de comprendre comment il fait paginier les pages d'aide (par exemple ? C ). Je pense qu'il utilise moins , mais je n'ai pas pu trouver la fonction qui fait cela. Je suppose que je pourrais faire système (gettextf ("echo% s | moins", my_text)) , mais cela ne fonctionnera pas dans Windows.

r

0 commentaires

3 Réponses :


7
votes

Regardez à ? Page code> et ? File.show CODE>:

page(runif(1e5))


2 commentaires

Merci. Savez-vous s'il y a un moyen de faire du texte de page sans le sauver dans un fichier?


@nochocab: page Utilisez également un fichier temporaire. Je ne sais pas si / comment pourriez avoir une pagination sans fichier temporaire.



2
votes

+1 à @sgibb, page () code> est vraiment utile. Il y a quelques cas où je veux cependant aller avec une solution plus compliquée. Vous pouvez également utiliser ? Évier dans conjonction avec ? File.show :

sink(file="tempSink", type="output")
  ...
  # various commands
  ...
sink()
file.show(file="tempSink", delete.file=TRUE, title="my output")


1 commentaires

C'est exactement la même chose que page si vous utilisez méthode = "Imprimer" (consultez: page (page) ). Bien sûr, vous devez inclure vos différentes commandes dans une fonction.



0
votes

N'oubliez pas que avec page () code> Vous devez spécifier méthode = "Imprimer" code> pour obtenir le formatage lisible que vous avez vu à partir de l'invite:

> capture.output(smry, file=pipe("less"))


0 commentaires