我试图从命令行运行R文件(来自终端 - 在macOS 10.13.3上)。
根据this helpful Q & A中的说明,我添加了Triplet tupleJava = new Triplet("value1","value2","value3");
System.out.println(tupleJava.getValue0()); => value1
System.out.println(tupleJava.getValue1()); => value2
System.out.println(tupleJava.getValue2()); => value3
作为R档案的第一行。
当我在终端中输入#! [path/to/file.R]
时,测试其工作的文件的一部分似乎运行(我添加了Rscript [path/to/file.R]
语句),但是,下一行:
print()
导致此错误:
rmarkdown::render_site(output_format = 'bookdown::pdf_book', encoding = 'UTF-8')
为什么Error in rmarkdown::render_site(output_format = "bookdown::pdf_book", :
No site generator found.
语句似乎工作正常,但这一行 - 用于呈现 bookdown 一书? -
我尝试运行的文件位于GitHub here上。
答案 0 :(得分:3)
对于 Markdown 我在script的示例目录中有以下littler大约1年半,并且使用它渲染了数百次。
请注意它调用rmarkdown::render()
但您需要一种预订格式,因此您可能需要编写一个非常相似的脚本来调用bookdown::render_book()
或类似的函数。
你当然可以像Makefiles中的单行一样做,很多人都这样做。这里有一个将所有Rmd文件映射到pdf文档(这是我的标准工作流程,我不做很多HTML):
sources := $(wildcard *.Rmd)
slides := $(sources:.Rmd=.pdf)
all: ${slides}
%.pdf: %.Rmd
Rscript -e "rmarkdown::render(\"$<\", clean=TRUE)"
因为我的编辑器有一个调用make
的快捷方式,所以这特别方便。
最后,对于Rscript(可在任何地方使用),您可以#!/usr/bin/env Rscript
或可能是Rscript
的直接路径。