2013-02-25 11 views

risposta

11

Che dire semplicemente scaricando la versione più recente del programma di installazione e di partenza che da R:

  1. a) identificare la versione più recente di Pandoc e afferrare l'URL con l'aiuto del pacchetto 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) oppure applicare alcune espressioni regolari grazie magici per @ G.Grothendieck invece (non è necessario per il pacchetto XML in questo modo):

    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) o controllare semplicemente la versione più recente manualmente se vi sentireste così:

    url <- 'http://pandoc.googlecode.com/files/pandoc-1.10.1-setup.exe' 
    
  2. Scarica il file come binary:

    t <- tempfile(fileext = '.exe') 
    download.file(url, t, mode = 'wb') 
    
  3. E basta eseguirlo dal R:

    system(t) 
    
  4. rimuovere il file inutile dopo l'installazione:

    unlink(t) 
    

PS: scusate, testato solo su Windows XP

+0

Grande! Qualche modo per riconoscere automaticamente l'ultima versione? –

+1

@TalGalili: certo, ho aggiunto un modo speranzosamente funzionante per riconoscere l'ultima versione. – daroczig

+0

Ah, e mi dispiace per le modifiche frequenti, non toccherò più questo post. Prometto :) – daroczig