Với một tệp đánh dấu R, tôi muốn tạo các tài liệu pdf đầu ra có thể khác nhau, trong đó tên tệp đầu ra phải được xác định trong tài liệu. Có cách nào để thuyết phục markdown để thao tác các tên tập tin đầu ra theo cách như vậy? Lý tưởng nhất là tôi muốn chuyển tên tệp bằng một đoạn r.R Markdown - tên đầu ra biến
Trả lời
Bạn có thể giữ sự đơn giản của việc sử dụng các Knit
nút RStudio và độ tái lập của một tiêu đề YAML bằng công không có giấy tờ knit
móc để xác định lại chức năng của nút không (chức năng mặc định được gọi là rmarkdown::render
). Tham số output_file
của hàm render chỉ định tên tệp, do đó, bằng cách đặt nó, bạn ghi đè hành vi chuẩn của việc sử dụng cùng một tiền tố làm tên tệp đầu vào.
ví dụ: luôn ra một tập tin gọi là myfile.pdf
knit: (function(inputFile, encoding) { rmarkdown::render(inputFile, encoding = encoding, output_file = file.path(dirname(inputFile), 'myfile.pdf')) })
Chức năng có thể là một ẩn danh one-liner cũng như nhập khẩu từ một gói, như đã thấy here với slidify.
Bạn có thể đặt tiêu đề YAML của riêng mình (tôi không biết điều này thường được thông báo hay không), có thể truy cập dưới rmarkdown::metadata$newheader
nhưng chúng dường như không có sẵn trong phạm vi chức năng này như tôi thấy.
Để chuyển tên tệp từ một đoạn R ... nếu bạn đang đề cập đến các khối mã bên dưới tiêu đề YAML, từ kinh nghiệm của tôi, tôi không nghĩ rằng có thể (?). Tiêu đề có thể chứa các lệnh R nội tuyến (một dấu backtick đơn, bắt đầu bằng r
), nhưng dường như không phải cho hàm móc này.
liên quan:
- Rmarkdown GitHub repo vấn đề - output format-specific
output_file
- Blog bài tôi đã viết sau câu hỏi này on more elaborate uses of the
knit:
hook/tương ứng GitHub wiki notes
Lỗi khi rmarkdown :: metadata $ title <- "My Title": 'rmarkdown' đối tượng không tìm thấy – jzadra
@yihuixie, tôi có thể chuyển thông số không $ bất cứ điều gì vào tên tập tin đầu ra theo cách đó? Đánh dấu của tôi sử dụng dữ liệu params $ để lấy tệp dữ liệu có liên quan, nhưng nó không giống như thế này hoạt động trong một lớp lót của bạn - 'params $ data not found'. Tôi có thể vượt qua bất cứ điều gì tôi muốn từ một kịch bản với 'rmarkdown :: render (params = list (dữ liệu =" Oct2017data "), output_file =" Oct2017_analysis.html ")', nhưng rõ ràng là tôi muốn chỉ có thể gõ nó một lần. – StasK
này là khá nhiều những gì tôi làm:
rmarkdown::render('my_markdown_report.Rmd',
output_file = paste('report.', Sys.Date(),
'.pdf', sep=''))
tôi có ba kịch bản - một kéo dữ liệu và xử lý nó, thứ hai tạo ra bảng xếp hạng & bảng cho báo cáo. Thứ ba tạo báo cáo dựa trên tệp đánh dấu. Mã bạn nhìn thấy ở trên là một phần của kịch bản thứ ba
Cho đến nay tôi chỉ sử dụng lệnh RStudios knit để biên dịch một số tệp tin markdown.Nếu tôi hiểu bạn một cách chính xác, bạn tạo ra các tập tin đánh dấu thực tế bằng cách sử dụng lệnh R, và thậm chí chỉ đạo đan của markdown bằng cách sử dụng lệnh R? Tôi đã không nhận thức được cách tiếp cận này cho đến nay, nhưng tôi sẽ có một cái nhìn gần hơn. Cho đến nay tôi cũng đang chuẩn bị dữ liệu và xử lý dữ liệu trong tập lệnh đầu tiên, nhưng đã ở bước thứ hai, tôi đã tạo thủ công tệp đánh dấu, ví dụ: các nguồn dữ liệu khác nhau vào một số báo cáo. – Sosel
Có. tập tin markdown là tập lệnh riêng biệt, nó đọc dữ liệu đặt biểu đồ và bảng với nhau. Nó được gọi là tuy nhiên từ kịch bản bên ngoài - bạn cũng có thể bắt đầu/thực hiện nó từ Rstudio và và sẽ tạo ra tập tin có cùng tên. Tuy nhiên, tôi gọi nó từ tập lệnh riêng biệt và sau khi rmarkdown tạo tệp kết quả pdf được sao chép vào các địa điểm khác nhau – ilya
Theo dõi vào những gì @ilya viết, trang web này có một ví dụ tuyệt vời thể hiện những gì họ mô tả, đó là cách tạo nhiều báo cáo có thể tái sản xuất từ cùng một tài liệu .Rmd :
http://www.reed.edu/data-at-reed/software/R/markdown_multiple_reports.html
Trang web sử dụng hai kịch bản, một kịch bản R và một kịch bản Rmarkdown để tạo ra nhiều báo cáo. Tôi đã sử dụng nó như là một mẫu cho công việc của riêng tôi và thấy nó rất hữu ích.
- 1. TikZ in R Markdown
- 2. đàn áp điều khiển đầu ra trong r markdown, nhưng giữ cốt truyện
- 3. Ngăn chặn số tự động đánh số ở đầu ra pdf với r markdown/knitr
- 4. R Markdown - thay đổi cỡ chữ và kiểu phông chữ trong đầu ra html
- 5. R markdown df_print options
- 6. đổi tên cột đầu ra bằng gói plyr trong R
- 7. vectơ tên biến trong R
- 8. r - biến biến là tên cột data.table
- 9. Làm cho các ô đầu ra như Markdown
- 10. Thay đổi R Chiều rộng ô Markdown
- 11. Chuyển đổi Jekyll cho R Markdown
- 12. Trích xuất tên đầu tiên trong R
- 13. Đầu ra giống Bảng Pivot trong R?
- 14. Làm thế nào để quấn mã và đầu ra trong markdown (.Rmd)
- 15. R Công thức toán học Markdown Alignment
- 16. Nhúng Video trên YouTube vào R Markdown
- 17. R Bảng Markdown 1000 dấu phân cách
- 18. Chuyển tên biến thành hàm trong R
- 19. R danh sách từ các biến sử dụng tên biến
- 20. Trong R, có thể chuyển hướng đầu ra của bàn điều khiển sang một biến không?
- 21. R: cách căn giữa đầu ra trong đánh dấu R
- 22. ggplot2/R đầu ra pdf quá lớn
- 23. Tên tệp đầu ra xsd.exe
- 24. Đổi tên đầu ra của CPack
- 25. duy trì nhật ký đầu vào/đầu ra trong R
- 26. Không mô-đun tên markdown App Engine
- 27. Tắt mã hóa HTML trong đầu ra của phần mở rộng Markdown tùy chỉnh của Python
- 28. Múi giờ biến mất trong đầu ra trong thời gian hệ thống R
- 29. Cách lưu trữ đầu ra của bàn điều khiển thành một biến trong R
- 30. cửa hàng đầu ra của lệnh hệ thống vào một biến trong r
bạn có thể đăng lệnh của mình không? Bạn có muốn đặt tên tệp là "động" không? 'paste0 (" file _ ", x,". pdf ")?' x có thể là ngày hoặc tên của tập dữ liệu – rmuc8
Cho đến nay tôi đã sử dụng RStudio, thực hiện lệnh đan mà không thực sự xem xét thêm chi tiết. Nhưng tôi nên có một cái nhìn gần hơn vào câu trả lời của ilyas, nghe giống như một cách tiếp cận rõ ràng hơn nhiều. – Sosel