是否可以使用R命令在Windows上安装pandoc?

问题描述:

我想通过在R中运行命令,在Windows 7机器上下载并安装pandoc。这可能吗?是否可以使用R命令在Windows上安装pandoc?

(我知道我可以手动做到这一点,但是当我展示给学生 - 更多的步骤,我可以的R代码块内组织 - 越好)

什么简单地下载最新版本安装和启动,从R:

  1. 一)确定最近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' 
    
  2. 下载的文件binary

    t <- tempfile(fileext = '.exe') 
    download.file(url, t, mode = 'wb') 
    
  3. ,简单地来自R运行:

    system(t) 
    
  4. 安装后删除不必要的文件:

    unlink(t) 
    

PS:抱歉,只能在Windows XP

+0

大测试! 任何方式自动识别最新版本? – 2013-02-25 17:25:19

+1

@TalGalili:当然,我添加了一个有希望的工作方式来识别最新版本。 – daroczig 2013-02-25 17:27:19

+0

嗯,对于经常编辑感到抱歉,我不会再碰这篇文章。我保证:) – daroczig 2013-02-25 17:36:35