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’합니다.
예를 들어,
- R 마크 다운 (
.Rmd
) 표준 인하 파일에 파일 (.md
) .Rnw
(Sweave) 에에 파일.tex
형식입니다..Rhtml
HTML로로 파일.
핵심 기능은 knitr::knit
기본적으로 입력 문서를보고 Rnw, Rmd 등 어떤 유형인지 추측합니다.
이 핵심 기능은 다음 세 가지 역할을 수행합니다.-입력 문서를보고 사용자가 평가하려는 코드 부분을 감지하는 소스 파서. -이 코드를 평가하는 코드 평가 기-원시 출력 유형에서 해석 할 수있는 형식으로 평가 결과를 문서에 다시 쓰는 출력 렌더러. 예를 들어 입력 파일이 .Rmd
이면 출력 렌더는 코드 평가의 출력을 .md
형식으로 표시합니다.
문서 형식 간 변환
Knitr는 문서 형식간에 변환 하지 않습니다 ( 예 : a .md
를 .html
. 그러나 다른 라이브러리를 사용하여이를 수행하는 데 도움이되는 몇 가지 편리한 기능을 제공합니다. 패키지를 사용하는 rmarkdown
경우이 기능이로 대체되었으므로 무시해야합니다 rmarkdown::render
.
예를 들면 knitr:knit2pdf
다음과 같습니다. ‘입력 Rnw 또는 Rrst 문서를 편직하고 texi2pdf 또는 rst2pdf를 사용하여 PDF로 컴파일’합니다.
혼란의 잠재적 원천이다 knitr::knit2html
, 이는 “니트 입력 인하 소스와 호출하는 편리한 기능입니다 markdown::markdownToHTML
HTML로 결과를 변환 할 수는.” markdown
패키지가 패키지로 대체되었으므로 이제 레거시 기능 rmarkdown
입니다. 이 참고 사항을 참조 하십시오 .
북 다운
bookdown 패키지는 R Markdown 위에 구축되었으며 Markdown 구문의 단순성과 여러 유형의 출력 형식 (PDF / HTML / Word /…) 가능성을 상속합니다.
다중 페이지 HTML 출력, 번호 매기기 및 그림 / 표 / 섹션 / 방정식 상호 참조, 부품 / 부록 삽입, GitBook 스타일 ( https://www.gitbook.com )을 가져 와서 우아하고 매력적인 HTML을 만드는 기능을 제공합니다. 책 페이지.