Rの関数管理とGithub

  • いい加減に書いた関数でも、使いまわしたい
  • こちらにそんなときに、ローカルなフォルダにパッケージ様のディレクトリ構成で置いておいて、適宜読み込む方法について書いてある
  • さらには、それをGithubにpushすれば、Github公開にもなる
  • 準備
    • roxygen2を使う。devtoolsを使う。roxgen2はdevtoolsに入っているgithubからのダウンロードコマンドでとってくる
install.packages("devtools")
library("devtools")
devtools::install_github("klutometis/roxygen")
library(roxygen2)
setwd("C:\\Users\\ryamada\\Desktop\\R_Desktop_Packages")
create("hoge")
    • こうなる。配下にそれなりのディレクトリやらができている


  • 関数ファイルを登録する
    • 適当な書式で説明を加えた関数のファイルを上で作ったRディレクトリ配下にhoge_fx.Rの名前で保存する
#' A Hoge Function
#'
#' これはテスト.
#' @param n is integer for number of randam values.
#' @keywords 
#' @export
#' @examples
#' n <- 100
#' hoge_fx(n)

hoge_fx <- function(n){
	plot(rnorm(n))
}

  • 次を実行して、最小限のドキュメントを作る
setwd(".\\hoge") # 移動して
document()
> document()
Updating hoge documentation
Loading hoge
First time using roxygen2 4.0. Upgrading automatically...
Writing NAMESPACE
Writing hoge_fx.Rd


  • これで、"hoge"パッケージのディレクトリから、「インストール」が可能
    • ヘルプ記事も出る
setwd("..")
install("hoge")
help(package="hoge")
>|r|
> setwd("..")
> install("hoge")
Installing hoge
"C:/PROGRA~1/R/R-31~1.0/bin/x64/R" --vanilla CMD INSTALL  \
  "C:\Users\ryamada\Desktop\R_Desktop_Packages\hoge"  \
  --library="C:/Users/ryamada/Documents/R/win-library/3.1" --install-tests 

* installing *source* package 'hoge' ...
** R
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
*** arch - i386
*** arch - x64
* DONE (hoge)
Reloading installed hoge


  • で、このディレクトリ構成をgithubにpushしておけば(やり方がまだわかっていないのだけれど)、roxygen2を取ってきたように、ウェブアクセスでいつでも使えます。
  • そうしておけば、いつでもどこでも、githubレポジトリを管理しておけばよいということになる(・・・らしい)