2016-05-30 9 views
1

Ich habe ein GitHub-Projekt mit interdependenten R-Skripten, von denen ich einige beziehen möchte. Als ichR: Wie kann ich ein ganzes Projekt von GitHub beziehen?

source_https <- function(url) { 
    require(RCurl) 
    sapply(c(url), function(u) { 
     eval(parse(text = getURL(u, followlocation = TRUE, cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl"))), envir = .GlobalEnv) 
    }) 
} 

source_https("https://path_to_repository/one_of_the_scripts.R") 

ich laufen, bekommen natürlich eine Fehlermeldung:

Error in file(filename, "r", encoding = encoding) : 
    cannot open the connection 
In addition: Warning message: 
In file(filename, "r", encoding = encoding) : 
    cannot open file 'another_script.R': No such file or directory 

Gibt es eine Möglichkeit, das gesamte Projekt beziehen könnte?

+2

"GitHub-Projekt mit interdependenten R-Skripten" Warum ist das kein Paket? – Roland

+0

Es begann als eigenständiges Tool, und dann sah ich, dass einige Funktionen in anderen Projekten nützlich sein können. Ich möchte anderen Benutzern eine bequeme Möglichkeit geben, Funktionen zu importieren, ohne das GitHub-Projekt zu klonen. – Mikhail

+2

Wenn Sie dies für andere bereitstellen möchten, erstellen Sie ein Paket (einschließlich Dokumentation und Tests). Die Installation ist dann einfach mit 'devtools :: install_github'. – Roland

Antwort

0

es in ein R-Paket zu machen, wie roland vorgeschlagen, löst das Problem.

0

Meine Lösung wäre die folgende:

source_https <- function(url) { 
    require(RCurl) 
    sapply(c(url), function(u) { 
     getURL(u, followlocation = TRUE, cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl")) 
    }) 
} 

source_https("https://path_to_repository/one_of_the_scripts.R") 

Ich sehe QHY nicht eval (Parse (...))

+0

Dies gibt nur den Inhalt der Datei aus. Wie auch immer, ich habe keine Probleme, eine einzige Datei zu beschaffen, solange sie nicht von anderen Dateien abhängt. Nach was ich suche, ist eine Weise, ein gesamtes Projekt zu beziehen. – Mikhail

Verwandte Themen