Tal*_*ili 7 r windows-7 pandoc
我想通过在R中运行命令在Windows 7机器上下载并安装pandoc.这可能吗?
(我知道我可以手动执行此操作,但是当我向学生展示时 - 我可以在R代码块中组织的步骤越多越好)
dar*_*zig 12
如果只是下载最新版本的安装程序并从R启动它:
a)确定最新版本的Pandoc并在XML包的帮助下获取URL :
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 = ':')
Run Code Online (Sandbox Code Playgroud)
b)或者应用一些regexp魔术,感谢@ 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 = ':')
Run Code Online (Sandbox Code Playgroud)
c)或者,如果您有这样的想法,只需手动检查最新版本:
url <- 'http://pandoc.googlecode.com/files/pandoc-1.10.1-setup.exe'
Run Code Online (Sandbox Code Playgroud)将文件下载为binary:
t <- tempfile(fileext = '.exe')
download.file(url, t, mode = 'wb')
Run Code Online (Sandbox Code Playgroud)只需从R运行它:
system(t)
Run Code Online (Sandbox Code Playgroud)安装后删除不必要的文件:
unlink(t)
Run Code Online (Sandbox Code Playgroud)PS:对不起,仅在Windows XP上测试过
| 归档时间: |
|
| 查看次数: |
1902 次 |
| 最近记录: |