是否可以使用R命令在Windows上安装pandoc?
问题描述:
我想通过在R中运行命令,在Windows 7机器上下载并安装pandoc。这可能吗?是否可以使用R命令在Windows上安装pandoc?
(我知道我可以手动做到这一点,但是当我展示给学生 - 更多的步骤,我可以的R代码块内组织 - 越好)
答
什么简单地下载最新版本安装和启动,从R:
-
一)确定最近Pandoc的版本并抓取网址与
XML
包的帮助:library(XML) page <- readLines('http://code.google.com/p/pandoc/downloads/list', warn = FALSE) pagetree <- htmlTreeParse(page, error=function(...){}, useInternalNodes = TRUE, encoding='UTF-8') url <- xpathSApply(pagetree, '//tr[2]//td[1]//a ', xmlAttrs)[1] url <- paste('http', url, sep = ':')
B)或一些正则表达式魔术感谢@ G.Grothendieck代替(无需对
XML
包这种方式)适用于:page <- readLines('http://code.google.com/p/pandoc/downloads/list', warn = FALSE) pat <- "//pandoc.googlecode.com/files/pandoc-[0-9.]+-setup.exe" line <- grep(pat, page, value = TRUE); m <- regexpr(pat, line) url <- paste('http', regmatches(line, m), sep = ':')
c)或简单地手动检查最新版本,如果你会感觉这样的:
url <- 'http://pandoc.googlecode.com/files/pandoc-1.10.1-setup.exe'
-
下载的文件
binary
:t <- tempfile(fileext = '.exe') download.file(url, t, mode = 'wb')
-
,简单地来自R运行:
system(t)
-
安装后删除不必要的文件:
unlink(t)
PS:抱歉,只能在Windows XP
大测试! 任何方式自动识别最新版本? – 2013-02-25 17:25:19
@TalGalili:当然,我添加了一个有希望的工作方式来识别最新版本。 – daroczig 2013-02-25 17:27:19
嗯,对于经常编辑感到抱歉,我不会再碰这篇文章。我保证:) – daroczig 2013-02-25 17:36:35