SlideShare a Scribd company logo
2分でパッケージを作って
インストールする
シリパク所沢
こんにちはシリパク所沢です
• 職業:シリアルパッケージクリエイター
– 通称シリパク
– yeah:イエーイっていうパッケージ
– pings:%.%を耳で楽しむ
– slideshare:
– firstdate:
– rDatumbox:DatumBoxというサービスのAPIを
Rから使うパッケージ
今回の対象
• RStudio使っている方
• パッケージはどこか遠い世界の神々が
作っていると思っている方
• CRANで辛い想いをした方
シリパクに寄せられた
代表的な質問
質問1
パッケージ作成
ややこしくない?
雛型作ってビルドするだけ
• RStudioならFile→New Project→New
Directory→R Packagesでパッケージ名を
指定すれば雛型ができる
• 雛型を適当に書き換えてビルドする
– ビルドには環境が必要
ただしビルドには環境が必要
• ビルドには環境が必要
– http://www.rstudio.com/ide/docs/packages/pre
requisites の指示に従う
– Windows : Rtoolsのインストール
– Mac:Xcode command line toolのインストー
ル
– Linux:省略
質問2
パッケージ公開するのが
大変じゃない?
大変じゃない
• 大変なのはCRANであり公開≠CRANでは
ない
• 最近はCRAN以外(例:github)からイン
ストールするパッケージも増えている
– rChartsとか
• devtoolsパッケージのinstall_github関数で
インストールできる
– 先述したビルド環境が必要
いきなりCRANを目指さない
• まずはgithubで公開して気が向いたら
CRAN/Bioconductorに公開する
• CRANへの公開
– Rdファイル(ヘルプファイル)の整備が必要
• Bioconductorへの公開
– 採択基準厳しい
– http://blog.hackingisbelieving.org/2012/05/bio
conductor.html
githubへの公開
• githubで作りたいパッケージ名のレポジト
リを作成する。この際、git@で始まるレ
ポジトリURLをメモ。
• RStudioでNew Project→New Directory→R
Packagesを選び、先ほどのパッケージ名
を入力。gitで管理する旨のチェックボッ
クスもチェック。
• Tools→Shellでシェルを開き、次ページの
コマンドを入力
コマンド例
• git remote add origin git@github.com:dichika/yeah.git
– git@以下は1でメモったレポジトリURLを入力のこと
• git add .
• git commit -m "initial"
• git push origin master
githubに公開したら
# devtoolsのinstall_github関数を使ってイン
ストールする
library(devtools)
# ユーザー名/パッケージ名で指定
install_github("dichika/yeah")
おすすめ
1. パッケージを作る
2. とりあえず公開する
3. TokyoRでLTする
4. 気が向いたらCRANに公開する
質問3
パッケージ作っても
みんな使わないんじゃない?
はい、使いません
• でもあなたの特殊な嗜好に基づいて作った
パッケージは世界を少しだけ幸福にするかも
しれない
– yeahパッケージ
• APIをRから使う系のパッケージは喜ぶ人多
い
– slideshareパッケージ
• 最悪俺が使う
– @dichikaに作った旨とばしてくれれば試して使
用感を伝えます
まとめ
• パッケージをつくるのは簡単
• 公開するのも簡単(面倒なのはCRAN)
• 公開したらTokyoRでLTすればよい

More Related Content

What's hot

Goで言語処理系(の途中まで)を作ろう
Goで言語処理系(の途中まで)を作ろうGoで言語処理系(の途中まで)を作ろう
Goで言語処理系(の途中まで)を作ろう
Esehara Shigeo
 
パッケージングの今と未来
パッケージングの今と未来パッケージングの今と未来
パッケージングの今と未来
Atsushi Odagiri
 
パッケージングの今
パッケージングの今パッケージングの今
パッケージングの今
Atsushi Odagiri
 
ソースコードリーディングの基礎
ソースコードリーディングの基礎ソースコードリーディングの基礎
ソースコードリーディングの基礎
hogemuta
 

What's hot (20)

sqldf for pandas
sqldf for pandassqldf for pandas
sqldf for pandas
 
Pelicanによる www.python.jpの構築
Pelicanによる www.python.jpの構築Pelicanによる www.python.jpの構築
Pelicanによる www.python.jpの構築
 
Goで言語処理系(の途中まで)を作ろう
Goで言語処理系(の途中まで)を作ろうGoで言語処理系(の途中まで)を作ろう
Goで言語処理系(の途中まで)を作ろう
 
Pycon2014 django performance
Pycon2014 django performancePycon2014 django performance
Pycon2014 django performance
 
Recording and Replay on HoloLens [dotNET 600]
Recording and Replay on HoloLens [dotNET 600]Recording and Replay on HoloLens [dotNET 600]
Recording and Replay on HoloLens [dotNET 600]
 
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
「Python言語」はじめの一歩 / First step of Python / 2016 Jan 12
 
debexpo(mentors.d.n)をハックするには
debexpo(mentors.d.n)をハックするにはdebexpo(mentors.d.n)をハックするには
debexpo(mentors.d.n)をハックするには
 
tse - Pythonによるテキスト整形ユーティリティ
tse - Pythonによるテキスト整形ユーティリティtse - Pythonによるテキスト整形ユーティリティ
tse - Pythonによるテキスト整形ユーティリティ
 
Pry による repl 駆動開発について
Pry による repl 駆動開発についてPry による repl 駆動開発について
Pry による repl 駆動開発について
 
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python
 
毎秒2000Requestを捌くPerl製CMSの内部構造(Debianサーバ1台にて)
毎秒2000Requestを捌くPerl製CMSの内部構造(Debianサーバ1台にて)毎秒2000Requestを捌くPerl製CMSの内部構造(Debianサーバ1台にて)
毎秒2000Requestを捌くPerl製CMSの内部構造(Debianサーバ1台にて)
 
静的解析を使った開発ツールの開発
静的解析を使った開発ツールの開発静的解析を使った開発ツールの開発
静的解析を使った開発ツールの開発
 
パッケージングの今と未来
パッケージングの今と未来パッケージングの今と未来
パッケージングの今と未来
 
第1回python勉強会
第1回python勉強会第1回python勉強会
第1回python勉強会
 
パッケージングの今
パッケージングの今パッケージングの今
パッケージングの今
 
今日から始める Go言語 と appengine
今日から始める Go言語 と appengine今日から始める Go言語 と appengine
今日から始める Go言語 と appengine
 
GoCon 2015 Summer GoのASTをいじくって新しいツールを作る
GoCon 2015 Summer GoのASTをいじくって新しいツールを作るGoCon 2015 Summer GoのASTをいじくって新しいツールを作る
GoCon 2015 Summer GoのASTをいじくって新しいツールを作る
 
ソースコードリーディングの基礎
ソースコードリーディングの基礎ソースコードリーディングの基礎
ソースコードリーディングの基礎
 
Open modeler
Open modelerOpen modeler
Open modeler
 
R -> Python
R -> PythonR -> Python
R -> Python
 

Similar to 2分でパッケージを作ってインストールする

Similar to 2分でパッケージを作ってインストールする (14)

パッケージングを支える技術 pyconjp2016
パッケージングを支える技術 pyconjp2016パッケージングを支える技術 pyconjp2016
パッケージングを支える技術 pyconjp2016
 
パッケージングの呼び声 Python Charity Talks in Japan 2021.02
パッケージングの呼び声 Python Charity Talks in Japan 2021.02パッケージングの呼び声 Python Charity Talks in Japan 2021.02
パッケージングの呼び声 Python Charity Talks in Japan 2021.02
 
とあるWeb企業でのDebianシステムの使い方。
とあるWeb企業でのDebianシステムの使い方。とあるWeb企業でのDebianシステムの使い方。
とあるWeb企業でのDebianシステムの使い方。
 
SWIGでRubyバインディング
SWIGでRubyバインディングSWIGでRubyバインディング
SWIGでRubyバインディング
 
20170312 r言語環境構築&dplyr ハンズオン
20170312 r言語環境構築&dplyr ハンズオン20170312 r言語環境構築&dplyr ハンズオン
20170312 r言語環境構築&dplyr ハンズオン
 
Tokyo r30 beginner
Tokyo r30 beginnerTokyo r30 beginner
Tokyo r30 beginner
 
Tokyo r38
Tokyo r38Tokyo r38
Tokyo r38
 
ビビッド・パワポ・オペレーションβ ~エンジニアのための、ゆるふわパワポ術~(qpstudy 2013.01 LT)
ビビッド・パワポ・オペレーションβ ~エンジニアのための、ゆるふわパワポ術~(qpstudy 2013.01 LT)ビビッド・パワポ・オペレーションβ ~エンジニアのための、ゆるふわパワポ術~(qpstudy 2013.01 LT)
ビビッド・パワポ・オペレーションβ ~エンジニアのための、ゆるふわパワポ術~(qpstudy 2013.01 LT)
 
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
Deep Learning Implementations: pylearn2 and torch7 (JNNS 2015)
 
Scala超入門 - 2014/12/13 Scala関西勉強会
Scala超入門 - 2014/12/13 Scala関西勉強会Scala超入門 - 2014/12/13 Scala関西勉強会
Scala超入門 - 2014/12/13 Scala関西勉強会
 
Capistrano introduction
Capistrano introductionCapistrano introduction
Capistrano introduction
 
130207 kyotorb
130207 kyotorb130207 kyotorb
130207 kyotorb
 
Cocos2dx 8hour
Cocos2dx 8hourCocos2dx 8hour
Cocos2dx 8hour
 
DDDモデリング勉強会 #6
DDDモデリング勉強会 #6DDDモデリング勉強会 #6
DDDモデリング勉強会 #6
 

More from TokorosawaYoshio (10)

R45LT
R45LTR45LT
R45LT
 
JapanR2014
JapanR2014JapanR2014
JapanR2014
 
Tokyor37
Tokyor37Tokyor37
Tokyor37
 
Tokyor44
Tokyor44Tokyor44
Tokyor44
 
TokyoR42_around_chaining
TokyoR42_around_chainingTokyoR42_around_chaining
TokyoR42_around_chaining
 
データ解析のための勉強会第7章
データ解析のための勉強会第7章データ解析のための勉強会第7章
データ解析のための勉強会第7章
 
Rから通知をとばす
Rから通知をとばすRから通知をとばす
Rから通知をとばす
 
TokyoR40
TokyoR40TokyoR40
TokyoR40
 
Tokyor36
Tokyor36Tokyor36
Tokyor36
 
TokyoR#31 初心者セッション
TokyoR#31 初心者セッションTokyoR#31 初心者セッション
TokyoR#31 初心者セッション
 

2分でパッケージを作ってインストールする