2013-07-06 13 views
6

Ho letto il codice sorgente R cercando di capire come impagina le pagine di aiuto (ad esempio ?c). Penso che stia usando less, ma non sono stato in grado di trovare la funzione che lo fa. Credo che potrei fare system(gettextf("echo %s | less", my_text)), ma non funzionerà in Windows.Come impaginare l'output R?

risposta

7

Dai un'occhiata alla ?page e ?file.show:

page(runif(1e5)) 
+0

Molto utile davvero, funziona anche in RStudio! – krlmlr

+0

Grazie. Sai se esiste un modo per inserire il testo della pagina senza salvarlo in un file? – nachocab

+0

@nochocab: 'page' usa anche un file temporaneo. Non so se/come potresti ottenere l'impaginazione senza un file temporaneo. – sgibb

2

+1 a @sgibb, page() è veramente utile. Ci sono alcuni casi in cui voglio andare con una soluzione più complicata però. È inoltre possibile utilizzare ?sink in combinazione con ?file.show:

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

Per esempio, page() visualizza una sola uscita, ma si consiglia di guardare in diversi insieme. Ho anche notato che a volte lo page() non funziona, ma quanto sopra (non so perché - potrebbe essere solo un bug).

+1

È esattamente lo stesso cosa succede a 'page' se si utilizza' method = "print" '(dare un'occhiata a:' page (page) '). Certo, devi includere i * vari comandi * in una funzione. – sgibb

Problemi correlati