Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Create a PDF table

Tags:

r

Is there a way to produce a PDF of a table from R in the same way you produce a plot (ie with pdf() or ggsave())? I realize there are ways with other programs (using sweave etc.), but I would like to produce it just from R.

like image 252
Tom Avatar asked Oct 07 '10 11:10

Tom


People also ask

Can you create a table of contents in PDF?

Select the "General" tab in the "Table Of Contents Settings" dialog. Choose to create either internal or external table of contents. Select the "Insert table of contents as …" option to insert table of contents into existing PDF document (internal TOC) and specify a page number where to insert new pages.

What is a PDF table?

Tables are part of many PDF forms. Tables are commonly set up. with columns and rows having a header at the top that describes the content for each column and two or more rows of data following the header. You find tables in a variety of forms.


1 Answers

Yes there is as you can place text into graphs and hence into pdf devices.

The nicest wrapper for this may be the textplot() function in Greg Warnes' trusted gplots package. Below is the beginning of the examples section of its help page:

# show R version information textplot(version) # show the alphabet as a single string textplot( paste(letters[1:26], collapse=" ") )  # show the alphabet as a matrix  textplot( matrix(letters[1:26], ncol=2))  ### Make a nice 4 way display with two plots and two text summaries  data(iris)   par(mfrow=c(2,2))    plot( Sepal.Length ~ Species, data=iris, border="blue", col="cyan",          main="Boxplot of Sepal Length by Species" )     plotmeans(Sepal.Length ~ Species, data=iris, barwidth=2, connect=FALSE,           main="Means and 95\% Confidence Intervals\nof Sepal Length by Species")  info <- sapply(split(iris$Sepal.Length, iris$Species),                function(x) round(c(Mean=mean(x), SD=sd(x), N=gdata::nobs(x)),2))  textplot( info, valign="top"  ) title("Sepal Length by Species")  reg <- lm( Sepal.Length ~ Species, data=iris ) textplot( capture.output(summary(reg)), valign="top") title("Regression of Sepal Length by Species")  par(mfrow=c(1,1)) 
like image 58
Dirk Eddelbuettel Avatar answered Oct 09 '22 06:10

Dirk Eddelbuettel