Có cách nào để tạo ra một tệp PDF của bảng từ R theo cùng cách bạn tạo ra một cốt truyện (ví dụ: bằng pdf() hoặc ggsave()) không? Tôi nhận ra có nhiều cách với các chương trình khác (sử dụng sweave vv), nhưng tôi muốn sản xuất nó chỉ từ R.Tạo một bảng PDF
32
A
Trả lời
30
Có như bạn có thể đặt văn bản vào đồ thị và do đó thành các thiết bị pdf.
Trình bao bọc đẹp nhất cho việc này có thể là chức năng textplot()
trong gói tin gplots đáng tin cậy của Greg Warnes. Dưới đây là phần bắt đầu của phần ví dụ trong trang trợ giúp:
# 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))
4
Ngoài ra còn có hàm addtable2plot trong gói lôgô.
14
xem thêm grid.table
trong gridExtra
, sử dụng đồ họa lưới.
4
Gần đây tôi muốn thực hiện điều này nhưng không thích định dạng đầu ra của grideExtra
hoặc textplot
vì vậy tôi đã viết chức năng này để làm điều đó bằng latex. Đó là một chút của một công việc hack và có những cách tốt hơn với sweave
hoặc knitr
, nhưng bạn có thể tìm thấy nó hữu ích để sửa đổi cho mục đích của bạn:
createPDF <- function(xx, name=deparse(substitute(xx))){
require(xtable)
tt <- print(xtable(xx), type='latex')
texfile <- paste0('./reports/', name, '.tex')
cat(
'\\documentclass[12pt]{report}
\\usepackage[landscape]{geometry}
\\date{}
\\begin{document}', tt, '\\end{document}', sep='',
file=texfile
)
## pdflatex from texlive package for linux converts .tex to .pdf
system(paste0('pdflatex ', '-output-directory ./reports ', texfile))
}
Các vấn đề liên quan
- 1. Cách tạo PDF của bảng phân cảnh trong Xcode?
- 2. Bảng PDF dạng hỗn hợp
- 3. Tạo một tệp PDF với PHP
- 4. Tạo một PDF từ nhiều hình ảnh
- 5. Tạo một tệp PDF tài liệu Python
- 6. Tạo PDF từ OpenXml
- 7. Tạo PDF với Java
- 8. Tạo PDF động từ mẫu
- 9. Tạo tệp PDF trong .NET
- 10. Tạo PDF từ HTML PHP
- 11. PDF trên Rails & Prawn PDF - Tạo danh sách khách hàng
- 12. tạo tệp PDF từ android
- 13. Tạo tệp PDF bằng JavaScript
- 14. Cần tạo PDF từ bytearray (Java)
- 15. Tạo iTextSharp một pdf từ danh sách các mảng byte
- 16. Gửi email một PDF được tạo động thông qua PHP
- 17. Cần biên dạng bảng mỏng trong PDF Được tạo bởi cfDocument
- 18. Tạo PDF từ CSV trên iPhone
- 19. Tạo truy vấn MySQL để tạo một bảng từ một bảng hiện có
- 20. Java: tạo mã TẠO TẠO từ một bảng hiện có
- 21. HTML sang PDF so với Lập trình tạo PDF qua PHP
- 22. Không thể in ra bảng xếp hạng ggplot pdf
- 23. Cách tạo tệp PDF bằng Python
- 24. Asp.Net MVC cách xem để tạo PDF
- 25. Tạo PDF tự động từ URL
- 26. Tạo một bảng tĩnh trong iReport
- 27. Tạo một bảng trông giống như Tkinter
- 28. Tạo một bảng SQL từ Excel VBA
- 29. cách tạo một ô liên kết bảng
- 30. Tạo một bảng MySQL 150M hàng lớn
Cảm ơn, điều này dường như được làm việc! – Tom