8

組織化された方法でpdfファイルに書き込みたいデータフレームがあります。

たとえば、私の df は次のようになります。

Date    County    Trade
1/1/2012  USA     5
1/1/2012  Japan   4
1/2/2012  USA     10
1/3/2012  Germany 15

出力を日付ごとにグループ化し、各グループの後にスペースまたは改行を配置したいと思います。

私はこのコードを持っていますが、これはすべてをグループ化せずにpdfファイルに出力します:

library(gridExtra)
pdf("trade.pdf", height=11, width=8.5)
grid.table(df)
dev.off()

日付でグループ化された pdf ファイルでこのデータセットをどのように最適に提示できるかについてのアイデアはありますか? 私は grid.Extra を使用するのが好きです。grid.Extra にタイトルを付ける方法を知っている人はいますか?

4

4 に答える 4

14

このコードは動作するはずです:

library(gridExtra)

df <- read.table(text = 
"1/1/2012  USA     5
1/1/2012  Japan   4
1/2/2012  USA     10
1/3/2012  Germany 15"
)
names(df) <- c("Date","Country","Trade")

EqDatedf <- as.data.frame(df[1,])
EmptyLine <- data.frame(Date = "",Country = "",Trade = "")

pdf(file = "q.pdf")

for (i in 2:nrow(df)) 
{
if (as.vector(df$Date[i])  ==  as.vector(df$Date[i-1])) 
{EqDatedf <- rbind(EqDatedf, df[i,])}

else {
EqDatedf <- rbind(EqDatedf, EmptyLine)
EqDatedf <- rbind(EqDatedf, df[i,]) 
     }
}

grid.table(EqDatedf, show.rownames = FALSE)
dev.off()

ここに画像の説明を入力

于 2013-01-14T15:54:43.147 に答える
8

Rstudioと一緒に使用することを強くお勧めしますKnitr。優れたレポートを作成するのは非常に簡単です。

例えば、

\documentclass{article}
\begin{document}
<<myTable,results='asis'>>=
library(xtable)
tab <- read.table(text = 'Date    County    Trade
1/1/2012  USA     5
1/1/2012  Japan   4
1/2/2012  USA     10
1/3/2012  Germany 15',header = TRUE)
print(xtable(tab),hline.after=c(2,3))   ## print.xtable have many smart options
@
\end{document}

ここに画像の説明を入力してください

于 2013-01-14T16:04:04.793 に答える