Исходный текст нескольких скриптов из github - PullRequest
1 голос
/ 17 февраля 2020

Я обычно использую некоторые личные функции во время моих r сессий, как:

s1<-"https://github.com/juanchiem/R-sources-Juan/blob/master/rend_aj.R?raw=TRUE" # rend_aj.R
s2<-"https://github.com/juanchiem/R-sources/blob/master/theme_juan.R?raw=TRUE" # theme_juan.R
s3<-"https://github.com/juanchiem/R-sources-Juan/blob/master/assumptions.R?raw=TRUE" # lm_assumptions.R

devtools::source_url(s1)
devtools::source_url(s2)
devtools::source_url(s3)

Интересно, возможно ли создать функцию для получения этих 3 файлов из github напрямую по их именам (подробно #) Спасибо!

1 Ответ

1 голос
/ 17 февраля 2020

Мы могли бы написать пользовательскую функцию (см. Примечание ниже) для достижения цели:

custom_source <- function(repo_name,repo_branch,name,
                          ...){

  url_to_use <- paste0("https://github.com/",repo_name,
                        "/blob/",repo_branch,"/",name,".R",
                       "?raw=TRUE"
                       )
  devtools::source_url(url_to_use,...)
}

Вызов функции (вы можете включить это в ту же функцию выше, но я предпочитаю вызывать ее по отдельности)

invisible(Map(function(x) custom_source("juanchiem/R-sources-Juan",
               "master",x), c("rend_aj","theme_juan", "lm_assumptions")))

Результат (усеченный):

  SHA-1 hash of file is 586d156021371098ec51c35c4c056d7c98a94d3d
SHA-1 hash of file is 5c84c1e8e7bd4fe9bf6cd26c4f5e955c20cf851b
SHA-1 hash of file is 63790352a1dc712611bbd26a67cd33d2d1ce5b2c

ПРИМЕЧАНИЕ :

  1. Это будет загружать только .R файлы. Может изменяться по мере необходимости.
  2. invisible используется для подавления печати на консоль. Однако добавление echo=FALSE или verbose=FALSE должно было подавить вывод, но это не так.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...