[r] R Markdown, Knitr, Pandoc 및 Bookdown의 관계

R Markdown, Knitr, Pandoc 및 Bookdown의 기능 간의 관계는 무엇입니까?

구체적 R 임베디드 코드 (예를 들어, 마크 업 문서로 변환 이러한 패키지의 ‘분업’무엇 .Rnw이나 .Rmd최종 출력으로)은 (예 .pdf또는 .html)? 그리고 Knitr을 사용하여 RMarkdown을 처리하는 경우 rmarkdown패키지는 무엇 을하며 markdown package?



답변

Pandoc

Pandoc은 문서 변환기입니다. 그것은 다음과 같은 많은 다른 형식으로 다른 마크 업 형식의 숫자로 변환 할 수 있습니다 .doc, .pdf

Pandoc은 GUI가없는 명령 줄 도구입니다. R과는 별개의 독립적 인 소프트웨어입니다. 그러나 rmarkdown문서 변환에 의존 하기 때문에 R Studio와 함께 번들로 제공됩니다 .

Pandoc은 문서를 변환 할뿐만 아니라 기본 마크 다운 언어 위에 기능을 추가하여 더 복잡한 출력을 지원할 수 있도록합니다.

R 마크 다운

R Markdown은 markdown을 기반으로합니다.

마크 다운 (마크 업 언어)

Markdown은 HTML 및 기타 여러 형식으로 변환 할 수 있도록 설계된 일반 텍스트 형식 지정 구문을 사용하는 경량 마크 업 언어입니다. 마크 다운 파일은 일반적으로 확장자가 부여 된 일반 텍스트 파일입니다 .md.

HTML 및 Latex와 같은 다른 마크 업 언어와 마찬가지로 R과 완전히 독립적입니다.

명확하게 정의 된 Markdown 표준이 없습니다. 이로 인해 여러 공급 업체가 자체 언어 변형을 작성하여 결함을 수정하거나 누락 된 기능을 추가함에 따라 단편화가 발생했습니다.

Markdown (R 패키지)

markdown.Rmd파일을 HTML 로 변환하는 R 패키지입니다 . rmarkdown훨씬 더 많은 기능을 제공하는 의 이전 버전입니다 . 더 이상 사용하지 않는 것이 좋습니다.

R Markdown (마크 업 언어)

R Markdown은 markdown 구문의 확장입니다. R Markdown 파일은 일반적으로 파일 확장자가 .Rmd. 그것들은 나중에 실행될 수있는 방식으로 R 코드를 삽입 할 수있는 마크 다운 구문의 확장을 사용하여 작성됩니다.

rmarkdown패키지에서 처리 될 것으로 예상되기 때문에 Pandoc 마크 다운 구문 을 R 마크 다운 파일의 일부로 사용할 수 있습니다. 이것은 원시 HTML / Latex 및 테이블과 같은 추가 기능을 제공하는 원래 마크 다운 구문의 확장입니다.

R Markdown (패키지)

R 패키지 rmarkdown.Rmd파일을 다양한 형식으로 처리하고 변환하는 라이브러리입니다 .

핵심 기능은 rmarkdown::render어떤 pandoc의 어깨에 서있다 . 이 함수 는 pandoc을 사용하여 입력 파일을 지정된 출력 형식으로 ‘렌더링합니다. 입력에 뜨개질 knitr::knit이 필요한 경우 pandoc 전에 호출됩니다.

RMarkdown 패키지의 목표는 Pandoc 옵션을 사용자 정의하기 위해 합리적으로 좋은 기본값과 R 친화적 인 인터페이스를 제공하는 것입니다. .

RMarkdown 파일 상단에 표시되는 YAML 메타 데이터는 특히 rmarkdown::render빌드 프로세스를 안내하기 위해 옵션을에 전달 하는 것입니다.

RMarkdown은 마크 다운 구문 만 다룹니다. .Rhtml또는 .Rnw파일 을 변환 하려면에 내장 된 편의 기능 ( Knitr예 : knitr::knit2html및)을 사용해야합니다.knitr:knit2pdf

Knitr

Knitr는 코드가 포함 된 일반 텍스트 문서를 가져 와서 코드를 실행하고 결과를 문서로 다시 ‘knits’합니다.

예를 들어,

핵심 기능은 knitr::knit기본적으로 입력 문서를보고 Rnw, Rmd 등 어떤 유형인지 추측합니다.

이 핵심 기능은 다음 세 가지 역할을 수행합니다.-입력 문서를보고 사용자가 평가하려는 코드 부분을 감지하는 소스 파서. -이 코드를 평가하는 코드 평가 기-원시 출력 유형에서 해석 할 수있는 형식으로 평가 결과를 문서에 다시 쓰는 출력 렌더러. 예를 들어 입력 파일이 .Rmd이면 출력 렌더는 코드 평가의 출력을 .md형식으로 표시합니다.

문서 형식 간 변환

Knitr는 문서 형식간에 변환 하지 않습니다 ( 예 : a .md.html. 그러나 다른 라이브러리를 사용하여이를 수행하는 데 도움이되는 몇 가지 편리한 기능을 제공합니다. 패키지를 사용하는 rmarkdown경우이 기능이로 대체되었으므로 무시해야합니다 rmarkdown::render.

예를 들면 knitr:knit2pdf다음과 같습니다. ‘입력 Rnw 또는 Rrst 문서를 편직하고 texi2pdf 또는 rst2pdf를 사용하여 PDF로 컴파일’합니다.

혼란의 잠재적 원천이다 knitr::knit2html, 이는 “니트 입력 인하 소스와 호출하는 편리한 기능입니다 markdown::markdownToHTMLHTML로 결과를 변환 할 수는.” markdown패키지가 패키지로 대체되었으므로 이제 레거시 기능 rmarkdown입니다. 이 참고 사항을 참조 하십시오 .

북 다운

bookdown 패키지는 R Markdown 위에 구축되었으며 Markdown 구문의 단순성과 여러 유형의 출력 형식 (PDF / HTML / Word /…) 가능성을 상속합니다.

다중 페이지 HTML 출력, 번호 매기기 및 그림 / 표 / 섹션 / 방정식 상호 참조, 부품 / 부록 삽입, GitBook 스타일 ( https://www.gitbook.com )을 가져 와서 우아하고 매력적인 HTML을 만드는 기능을 제공합니다. 책 페이지.


답변