Rcpp.package.skeleton()を使って、まとめておく

  • ここにも書いたようにRcpp.package.skeleton()のlist argumentはpackage.skeletonのそれとは違って、挙動が不明なのでひとまず使わない方針とする
  • 次の3ファイル(2ファイルがc++,1ファイルがRのコードとする)
    • c++のヘッダファイルも作った方がよいような気もするが、ひとまず保留
    • c++
      • "selfAvoidingPathCpp2.cpp"
      • "selfAvoidingPathCpp2_multi.cpp"
    • R
      • "selfAvoidingWalk.R"
  • 作成パッケージ名を"selfAvoidingPath"とする
  • コマンド
Rcpp.package.skeleton(name = "selfAvoidingPath", list = character(), 
	namespace = TRUE, code_files = c("selfAvoidingWalk.R"), cpp_files = c("selfAvoidingPathCpp2.cpp","selfAvoidingPathCpp2_multi.cpp"),example_code = FALSE,
	author = "Who you are", 
	email = "hoge@mage.ac.jp", 
	)
  • 実行結果コンソール画面
> Rcpp.package.skeleton(name = "selfAvoidingPath", list = character(), 
+ namespace = TRUE, code_files = c("selfAvoidingWalk.R"), cpp_files = c("selfAvoidingPathCpp2.cpp","selfAvoidingPathCpp2_multi.cpp"),example_code = FALSE,
+ author = "Who you are", 
+ email = "hoge@mage.ac.jp", 
+ )
Creating directories ...
Creating DESCRIPTION ...
Creating NAMESPACE ...
Creating Read-and-delete-me ...
Copying code files ...
Making help files ...
Done.
Further steps are described in './selfAvoidingPath/Read-and-delete-me'.

Adding Rcpp settings
 >> added Depends: Rcpp
 >> added LinkingTo: Rcpp
 >> added useDynLib directive to NAMESPACE
 >> added Makevars file with Rcpp settings
 >> added Makevars.win file with Rcpp settings
 >> copied selfAvoidingPathCpp2.cpp to src directory
 >> copied selfAvoidingPathCpp2_multi.cpp to src directory
 警告メッセージ: 
The following packages are referenced using Rcpp::depends attributes however are not listed in the Depends and LinkingTo fields of the package DESCRIPTION file: RcppArmadillo 
> 
  • できるもの:パッケージ名のフォルダ

  • パッケージ名のフォルダの中身



  • さらにその中身にもろもろあって
    • man フォルダの中に"selfAvoidingPath-package.Rd"というファイル
    • R フォルダの中に"RcppExports.R",と"selfAvoidingPath.R"と言うファイル。後者は自分で書いたファイルそのもの。前者はRcppのパッケージが入れてくれたもの
    • src フォルダの中に"RcppExports.cpp","selfAvoidingPathCpp2.cpp","selfAvoidingPathCpp2_multi.cpp"の3cppファイル。最初のはRcppパッケージが入れたもの。残りの2つは自作のcppファイル。そのほか2ファイルあって、"Makevars","Makevars.win"の2ファイルで何かしらパス関係の記載がある模様。詳細不明