Eu uso o Emacs para edição de documentos R. Para compilar eu abro um terminal e dou instrução lá. Antes eu abria um terminal do linux e chamava o R dentro. Hoje já uso um shell script que facilita bem mais as coisas. Segue o shell script. Dentro tem o comentário logo no topo de como fazer o link simbólico.## COMEÇA ARQUIVO render
#!/bin/bash
# Seguir as intruções aqui
# https://github.com/rstudio/rmarkdown/blob/master/PANDOC.md para criar
# links simbólicos para o pandoc. No caso, tem-se que fazer
# $ sudo ln -s /usr/lib/rstudio/bin/pandoc/pandoc /usr/local/bin
# $ sudo ln -s /usr/lib/rstudio/bin/pandoc/pandoc-citeproc /usr/local/bin
# para poder usar esse bash.
#-----------------------------------------------------------------------------
# Compilar *.Rmd para *.html com rmarkdown::render.
# Walmes Zeviani
#-----------------------------------------------------------------------------
echo
echo "============================================================================="
echo "Compilando *.Rmd para *.html com rmarkdown::render."
echo " Walmes Zeviani"
echo "============================================================================="
echo
##-----------------------------------------------------------------------------
## http://stackoverflow.com/questions/402377/using-getopts-in-bash-shell-script-to-get-long-and-short-command-line-options
Options=$@
Optnum=$#
_usage() {
#--------------------------------------------
# Shows how use.
cat <<EOF
render $Options
$*
Usage: render <[options]> file
file Is a filename with extension *.Rmd.
Options:
-h --help Show this message
-p --purl To purl the file
EOF
}
if [ $# = 0 ]; then _usage; fi
#-----------------------------------------------------------------------------
# NOTE: This requires GNU getopt. On Mac OS X and FreeBSD, you have to
# install this separately.
TEMP=`getopt -o hp --long help,purl -n 'render' -- "$@"`
if [ $? != 0 ] ; then echo "Terminating." >&2 ; exit 1 ; fi
# Note the quotes around `$TEMP': they are essential!
eval set -- "$TEMP"
PURL=
while true; do
case "$1" in
-h | --help )
_usage
break
exit 1
;;
-p | --purl )
PURL=true
shift
;;
-- )
shift; break ;;
* )
_usage
break
exit 1
;;
esac
done
INPUT=$1
case "$INPUT" in
*.Rmd )
echo; echo "Running rmarkdown::render(\"$INPUT\")."; echo
Rscript -e "require(knitr); require(rmarkdown); render(\"$INPUT\")"
;;
*)
echo "The file $INPUT has a non supported file extension."
exit 1
;;
esac
if [[ "$PURL" == "true" ]]
then
purl -n $INPUT
fi
##-----------------------------------------------------------------------------
## Para fazer em batelada.
## for file in `ls *.Rmd`
## do
## rmarkdownRender -p $file
## done## FIM DO ARQUIVO render
Esse arquivo "render" você pode deixar na sua pasta "/bin" do linux. Tem que dar permissão de execussão. Suponha que o arquivo seja criado num lugar qualquer então execute esses passos.
$ ls -l render ## Lista permissões.
$ chmod +x render ## Permite execução.
$ ls -l render ## Lista novamente.
$ sudo cp render /bin ## Copia para a pasta /bin
$ render nome_do_arquivo.Rmd ## Modo de usar.Eu na verdade prefiro deixar meus shell numa pasta própria ao inves da /bin. Vamos supor que seja a /home/bashs. Você só precisa adicionar o PATH ao conjunto de paths monitorados. Se faz isso incluindo a seguinte linha dentro do seu arquivo /home/walmes/.bashrc
export PATH=$PATH:/home/walmes/bashs/À disposição.Walmes.
_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.