2012-07-21 36 views
17

Tôi thực sự thích sử dụng knitr trong Rstudio và đã sử dụng nó để viết các bài thuyết trình và phân tích dữ liệu. Tôi muốn sử dụng cùng một mã và kết quả trong một bài báo và muốn chuyển đổi các đoạn mã trong tệp Rmd ​​```{r} thành các đoạn của tệp Rnw << >>= @.Cách chuyển đổi tệp .Rmd thành tệp .Rnw của Rstudio?

Điều này cho phép sử dụng cùng một tài liệu và mã được viết để trình bày cho bài viết chính.

Có cách nào chuyển đổi giữa các đoạn mã của tệp markdown và Rnw không?

hoặc toàn bộ tập tin chính nó như là ngoài sự khác biệt về cú pháp của khối mã, họ là khá tương tự trong đánh dấu (chuyển đổi các văn bản để mủ rất dễ dàng với nói pandoc)

Trả lời

7

Thay vì chuyển đổi toàn bộ tài liệu, bạn có thể chỉ cần externalize mã R của bạn để nó có thể được chia sẻ trên các tài liệu khác nhau; thấy http://yihui.name/knitr/demo/externalization/

Một khi bạn đã read_chunk('Rcode.r'), bạn có thể sử dụng ```{r label} trong RMD của bạn và <<label>>= trong tài liệu Rnw của bạn, nơi label xuất phát từ dòng ## @knitr label trong kịch bản R.

+0

Ý tưởng giữ mã riêng biệt với tệp chính là tốt.Chỉ trong trường hợp tôi cần chuyển đổi nhanh tệp Rmd ​​thành Rnw hoặc ngược lại, đó có phải là một khả năng không? – Anusha

+1

Điều đó nghe có vẻ tuyệt vời, nhưng không có ý nghĩa với tôi: https://github.com/yihui/knitr/issues/322 Thật dễ dàng để chuyển đổi '' '{r} thành' <<>> = ', nhưng còn về phần còn lại của văn bản? Bạn phải xem xét chuyển đổi markdown sang LaTeX (ngược lại), và pandoc đã thực hiện một công việc cạnh tranh nhất. –

+0

Có vẻ như bạn đang làm việc với điều này như là knitExtra. Tôi đã chuyển đổi tài liệu từ markdown sang latex bằng cách sử dụng pandoc như đã đề cập trong câu hỏi. Nhiệm vụ chuyển đổi các khối mã bằng cách sử dụng regex hoặc thay thế các chuỗi có vẻ là tẻ nhạt và dễ bị lỗi. Bạn vui lòng cho biết cách dễ dàng để chuyển đổi đánh dấu khối không? – Anusha

Các vấn đề liên quan