2014-07-21 26 views
8

Câu hỏi này là một hệ quả tất yếu của những nỗ lực của tôi để có được một số kinh nghiệm với tạo các báo cáo tái sản xuất từ R Markdown tài liệu qua knitr và gói R. Mặc dù có vẻ như việc chuyển đổi .Rmd => HTML được tự động hóa bên trong nút RStudio (Knit HTML), nhưng nỗ lực của tôi để thực hiện tương tự bên ngoài RStudio (Rscript -e 'library(rmarkdown); render("knitr-example-slides-1.Rmd")') không thành công do, theo thông báo, thiếu pandoc trên hệ thống của tôi. Điều này rất có thể là sai, vì RStudio bằng cách nào đó đã quản lý để thực hiện chuyển đổi. Do đó, rất có thể là sự cố truy cập và/hoặc sự cố đường dẫn .Rắc rối với cài đặt Pandoc trên Ubuntu 14.04LTS cho việc sử dụng với R Markdown

Nếu không có kiến ​​thức về nơi RStudio duy trì pandoc và chi tiết về khả năng tiếp cận, tôi đã quyết định cài đặtpandoc bản thân mình. Thật không may, sudo apt-get install pandoc đã không được rất hữu ích, do thực tế là phiên bản hiện tại của pandoc trong kho lưu trữ trusty của Ubuntu (14.04LTS) là 1.12.2.1. Theo thông báo của , phiên bản 1.12.3 trở lên là bắt buộc. "Không phải là một việc lớn", tôi đã nghĩ, và làm theo hướng dẫn cài đặt pandoc trong trường hợp phiên bản quá cũ trong kho (http://johnmacfarlane.net/pandoc/installing.html). Điều đó đòi hỏi phải cài đặt nền tảng Haskell, điều này khá lớn và đầu ra nào khá dài dòng. Sau một thời gian, cuối cùng tôi đã được chào đón với những điều sau nhắn thất bại:

[ 6 of 57] Compiling Text.Pandoc.Readers.TeXMath (src/Text/Pandoc/Readers/TeXMath.hs, dist/build/Text/Pandoc/Readers/TeXMath.o) 

src/Text/Pandoc/Readers/TeXMath.hs:30:38: 
    Ambiguous occurrence `readTeXMath' 
    It could refer to either `Text.Pandoc.Readers.TeXMath.readTeXMath', 
          defined at src/Text/Pandoc/Readers/TeXMath.hs:56:1 
          or `Text.TeXMath.readTeXMath', 
          imported from `Text.TeXMath' at src/Text/Pandoc/Readers/TeXMath.hs:33:1-19 
          (and originally defined in `Text.TeXMath.Parser') 
Failed to install pandoc-1.12.4.2 
cabal: Error: some packages failed to install: 
pandoc-1.12.4.2 failed during the building phase. The exception was: 
ExitFailure 1 
pandoc-citeproc-0.3.1 depends on pandoc-1.12.4.2 which failed to install. 

Thứ nhất, tôi không chắc chắn làm thế nào để sửa chữa nó. Thứ hai, tôi rất nghi ngờ rằng cần có một cách dễ dàng hơn để tạo báo cáo có thể tái sản xuất với và pandoc so với điều này. Lời khuyên của bạn sẽ được đánh giá cao!

UPDATE (xem ý kiến):

Rscript -e 'library(rmarkdown); render("knitr-example-slides-1.Rmd")' 


processing file: knitr-example-slides-1.Rmd 
    |.......               | 11% 
    ordinary text without R code 

    |..............             | 22% 
label: setup (with options) 
List of 1 
$ include: logi FALSE 

Quitting from lines 6-8 (knitr-example-slides-1.Rmd) 
Error in eval(expr, envir, enclos) : object 'opts_chunk' not found 
Calls: render ... handle -> withCallingHandlers -> withVisible -> eval -> eval 

Execution halted 
+4

Phiên bản nhị phân được biên dịch của Pandoc đã được chuyển bằng RStudio, vì vậy bạn có thể chỉ cần tạo liên kết tượng trưng để bạn có thể dễ dàng sử dụng nó bên ngoài hệ sinh thái RStudio: https://github.com/rstudio/rmarkdown/ blob/master/PANDOC.md # new-systems-debianubuntufedora – daroczig

+0

@daroczig: Tuyệt vời, cảm ơn bạn đã trả lời rõ ràng và nhanh chóng! Tôi biết nên có một cách dễ dàng hơn ... :-). Sẽ cố gắng và báo cáo ở đây. –

+0

Được rồi, tôi làm theo hướng dẫn cho RStudio Server. Tuy nhiên, một nỗ lực để xử lý một ví dụ '.Rmd' tập tin (https: // github.com/yihui/knitr-examples/blob/master/009-slides.Rmd) không thành công như được hiển thị trong UPDATE ở trên. Bất kỳ ý tưởng? (Tôi hiểu rằng đó là vấn đề khác với bản gốc, nhưng có thể không đáng để tạo ra một câu hỏi riêng.) –

Trả lời

6

Về cơ bản, @daroczig đã trả lời câu hỏi này trong bình luận của ông trên, vì vậy tôi sẽ lặp lại nó ở đây, cộng thêm sẽ bổ sung thêm một câu trả lời cho câu hỏi nhỏ liên quan trên vấn đề, xuất hiện sau khi khắc phục vấn đề chính của câu hỏi.

1) "Một phiên bản biên soạn nhị phân của Pandoc đã được vận chuyển với RStudio, vì vậy bạn chỉ đơn giản là có thể tạo một liên kết tượng trưng, do đó bạn có thể dễ dàng sử dụng mà bên ngoài của RStudio hệ sinh thái: https://github.com/rstudio/rmarkdown/blob/master/PANDOC.md#newer-systems-debianubuntufedora";

2) Tôi đã cố định các lỗi, kinh nghiệm sau khi áp dụng những lời khuyên ở trên (xem nhận xét của tôi), bằng cách gọi opts_chunk() sử dụng rõ ràng gói tài liệu tham khảo: knitr::opts_chunk(), hướng dẫn sau đây: http://rmarkdown.rstudio.com/authoring_migrating_from_v1.html (nhờ @Yihui chỉ cho tôi đến tài liệu này theo một câu hỏi khác: Transitioning research project to knitr-based setup).

+1

Bạn được quyền chấp nhận câu trả lời của riêng bạn. –

+1

@Yihui: Cảm ơn bạn! Tôi chỉ chờ đợi - SO có thời gian chờ đợi 2 ngày cho đến khi có thể chấp nhận câu trả lời của cô ấy :-). Tôi đánh giá cao, nếu bạn có thể bày tỏ ý kiến ​​của bạn hoặc chỉ cho tôi các tài nguyên liên quan về phương pháp sử dụng 'knitr' và' R Markdown' cho các dự án đa tệp/đa thư mục phức tạp (chủ đề chính của câu hỏi của tôi: http: // stackoverflow.com/questions/24848303/transitioning-research-project-to-knitr-based-setup). –

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