2012-03-14 11 views
0

私は、さまざまな次元のデータフレームのリストを生成する関数を持っています。次に、この出力を順番に表示するpdfファイルを作成したいと考えています。データフレームのリスト

df1 <- data.frame(c(1,2,3,4,5),c("a","b","c","d","e")) 
names(df1) <- c("no","letter") 

df2 <- data.frame(c(1,2,3,4,5),c("a","b","c","d","e"),c("a","b","c","d","e")) 
names(df2) <- c("no","letter1","letter2") 

outputs <- list(df1,df2) 

このために適しているか、それがGDATAパッケージからtextplotなどの機能を使用することが可能であるし、次にPDFにエクスポートしたパッケージはありますか?

+0

Sweaveやknitrを検討しましたか、それともオプションではありませんか? – johannes

+0

私はSweaveを認識していますが、使用方法はわかりません。 knitr私は知らないし、見上げるだろう。どのような場合には、それはオプションではないでしょうか? – BuckyOH

+0

Jamesがすでに指摘しているように、ラテックスを使いたくない場合は、おそらくオプションではありません。 – johannes

答えて

3

Sweaveを使用した最小の例です。

含むtest.Rnwというファイルを作成します。

\documentclass[a4paper,11pt]{article} 

\begin{document} 

<<echo=F>>= 
df1 <- data.frame(c(1,2,3,4,5),c("a","b","c","d","e")) 
names(df1) <- c("no","letter") 

df2 <- data.frame(c(1,2,3,4,5),c("a","b","c","d","e"),c("a","b","c","d","e")) 
names(df2) <- c("no","letter1","letter2") 

outputs <- list(df1,df2) 

outputs 
@ 

\end{document} 

を次にコマンドラインから呼び出す:

R CMD R Sweave test.Rnw 
pdflatex test.Rnw 

は、たぶん、あなたが開始されることを。

+0

ラテックスシステムは、forループの代わりに – James

2

パッケージgridExtraは、非常に強力なgrid.table(および即時印刷ではないtableGrob)を提供します。ここで
http://cran.r-project.org/web/packages/gridExtra/index.html
はgrid.tableのいくつかの例は以下のとおりです。
http://rwiki.sciviews.org/doku.php?id=tips:graphics-grid:table

library(gridExtra) 

    df1 <- data.frame(c(1,2,3,4,5),c("a","b","c","d","e")) 
    names(df1) <- c("no","letter") 

    df2 <- data.frame(c(1,2,3,4,5),c("a","b","c","d","e"),c("a","b","c","d","e")) 
    names(df2) <- c("no","letter1","letter2") 

    outputs <- list(df1,df2) 
    pdf(file="filename.pdf") 
    plyr::l_ply(outputs, grid.table) 
    dev.off() 
+0

をインストールしなければならないことに注意してください。 'plyr :: l_ply(outputs、grid.table)' – baptiste

+0

@baptiste:トリックをありがとう(gridExtra; marrange )仕事の時間を節約する) – broussea

3

1つの可能な方法は、(あなたがTEXを避けたい場合)データセットのテーブルをプロットすることです。

enter image description here

library(gridExtra) 

pdf(file="file_name.pdf", width=20) 
    grid.newpage() 
    grid.draw(tableGrob(head(iris, 10), name="test")) 
dev.off() 

は、いつものようにRで、物事を行うには千個の方法があります。

plot(...) 
text(...,xtable(...)) 

xtable機能もjmsignerの答えで外観を改善するために使用することができます。

関連する問題