tutorial the texto rmarkdown notebook guide examples definitive como centrar r rstudio knitr r-markdown

the - ¿Qué es una línea de comando ordenada equivalente al Knit HTML de RStudio?



r notebook (2)

¿Qué es una línea de comando ordenada equivalente al Knit HTML de RStudio? Dado un archivo .Rmd , puede usar RStudio para tejer archivos .html , .docx y .pdf utilizando Knitr. Sería genial cambiar este proceso completamente a la línea de comando. Mi enfoque hasta ahora:

Rscript -e "library(knitr); knit(''test.Rmd'')" # This creates test.md pandoc test.md >> test.html

Esto funciona bien, pero el test.html resultante no viene con la misma marca que en RStudio. ¿Alguna sugerencia sobre cómo se debe .Rmd mejor los archivos .Rmd a .html través de la línea de comandos y terminar con un bonito .html ?

Pregunta adicional: ¿Cuál sería la mejor solución de línea de comandos para .pdf o .docx ?


Siguiendo con la respuesta aceptada, he redactado un script bash llamado "knitter" que hará todo lo necesario, todo lo que el usuario debe hacer es ingresar: ./knitter file.Rmd file.html o ./knitter file.Rmd file.pdf .

El guión está abajo:

#!/bin/sh ### Test usage; if incorrect, output correct usage and exit if [ "$#" -gt 2 -o "$#" -lt 2 ]; then echo "********************************************************************" echo "* Knitter version 1.0 *" echo "********************************************************************" echo -e "The ''knitter'' script converts Rmd files into HTML or PDFs. /n" echo -e "usage: knitter file.Rmd file.{pdf,html} /n" echo -e "Spaces in the filename or directory name may cause failure. /n" exit fi # Stem and extension of file extension1=`echo $1 | cut -f2 -d.` extension2=`echo $2 | cut -f2 -d.` ### Test if file exist if [[ ! -r $1 ]]; then echo -e "/n File does not exist, or option mispecified /n" exit fi ### Test file extension if [[ $extension1 != Rmd ]]; then echo -e "/n Invalid input file, must be a Rmd-file /n" exit fi # Create temporary script # Use user-defined ''TMPDIR'' if possible; else, use /tmp if [[ -n $TMPDIR ]]; then pathy=$TMPDIR else pathy=/tmp fi # Tempfile for the script tempscript=`mktemp $pathy/tempscript.XXXXXX` || exit 1 if [[ $extension2 == "pdf" ]]; then echo "library(rmarkdown); rmarkdown::render(''"${1}"'', ''pdf_document'')" >> $tempscript Rscript $tempscript fi if [[ $extension2 == "html" ]]; then echo "library(rmarkdown); rmarkdown::render(''"${1}"'', ''html_document'')" >> $tempscript Rscript $tempscript fi


library(rmarkdown) rmarkdown::render("test.Rmd", "html_document")