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

sqldf for pandas
sqldf for pandassqldf for pandas
sqldf for pandas
airtoxin Ishii
 
Pelicanによる www.python.jpの構築
Pelicanによる www.python.jpの構築Pelicanによる www.python.jpの構築
Pelicanによる www.python.jpの構築
Atsuo Ishimoto
 
Goで言語処理系(の途中まで)を作ろう
Goで言語処理系(の途中まで)を作ろうGoで言語処理系(の途中まで)を作ろう
Goで言語処理系(の途中まで)を作ろうEsehara Shigeo
 
Pycon2014 django performance
Pycon2014 django performancePycon2014 django performance
Pycon2014 django performance
hirokiky
 
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]
Tomoki Hayashi
 
「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
Takanori Suzuki
 
debexpo(mentors.d.n)をハックするには
debexpo(mentors.d.n)をハックするにはdebexpo(mentors.d.n)をハックするには
debexpo(mentors.d.n)をハックするには
kenhys
 
tse - Pythonによるテキスト整形ユーティリティ
tse - Pythonによるテキスト整形ユーティリティtse - Pythonによるテキスト整形ユーティリティ
tse - Pythonによるテキスト整形ユーティリティ
Atsuo Ishimoto
 
Pry による repl 駆動開発について
Pry による repl 駆動開発についてPry による repl 駆動開発について
Pry による repl 駆動開発について
Tomoya Kawanishi
 
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python
Takanori Suzuki
 
毎秒2000Requestを捌くPerl製CMSの内部構造(Debianサーバ1台にて)
毎秒2000Requestを捌くPerl製CMSの内部構造(Debianサーバ1台にて)毎秒2000Requestを捌くPerl製CMSの内部構造(Debianサーバ1台にて)
毎秒2000Requestを捌くPerl製CMSの内部構造(Debianサーバ1台にて)
nabe-abk
 
静的解析を使った開発ツールの開発
静的解析を使った開発ツールの開発静的解析を使った開発ツールの開発
静的解析を使った開発ツールの開発
Takuya Ueda
 
パッケージングの今と未来
パッケージングの今と未来パッケージングの今と未来
パッケージングの今と未来Atsushi Odagiri
 
第1回python勉強会
第1回python勉強会第1回python勉強会
第1回python勉強会
Yoshio Shimomura
 
パッケージングの今
パッケージングの今パッケージングの今
パッケージングの今Atsushi Odagiri
 
今日から始める Go言語 と appengine
今日から始める Go言語 と appengine今日から始める Go言語 と appengine
今日から始める Go言語 と appengine
a know
 
GoCon 2015 Summer GoのASTをいじくって新しいツールを作る
GoCon 2015 Summer GoのASTをいじくって新しいツールを作るGoCon 2015 Summer GoのASTをいじくって新しいツールを作る
GoCon 2015 Summer GoのASTをいじくって新しいツールを作る
Masahiro Wakame
 
ソースコードリーディングの基礎
ソースコードリーディングの基礎ソースコードリーディングの基礎
ソースコードリーディングの基礎hogemuta
 
R -> Python
R -> PythonR -> Python
R -> Python
Kazufumi Ohkawa
 

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分でパッケージを作ってインストールする

パッケージングを支える技術 pyconjp2016
パッケージングを支える技術 pyconjp2016パッケージングを支える技術 pyconjp2016
パッケージングを支える技術 pyconjp2016
Atsushi Odagiri
 
パッケージングの呼び声 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
Atsushi Odagiri
 
とあるWeb企業でのDebianシステムの使い方。
とあるWeb企業でのDebianシステムの使い方。とあるWeb企業でのDebianシステムの使い方。
とあるWeb企業でのDebianシステムの使い方。
Kouhei Maeda
 
SWIGでRubyバインディング
SWIGでRubyバインディングSWIGでRubyバインディング
SWIGでRubyバインディング
Yukimitsu Izawa
 
20170312 r言語環境構築&dplyr ハンズオン
20170312 r言語環境構築&dplyr ハンズオン20170312 r言語環境構築&dplyr ハンズオン
20170312 r言語環境構築&dplyr ハンズオン
Nobuaki Oshiro
 
Tokyo r38
Tokyo r38Tokyo r38
Tokyo r38
Takashi Minoda
 
ビビッド・パワポ・オペレーションβ ~エンジニアのための、ゆるふわパワポ術~(qpstudy 2013.01 LT)
ビビッド・パワポ・オペレーションβ ~エンジニアのための、ゆるふわパワポ術~(qpstudy 2013.01 LT)ビビッド・パワポ・オペレーションβ ~エンジニアのための、ゆるふわパワポ術~(qpstudy 2013.01 LT)
ビビッド・パワポ・オペレーションβ ~エンジニアのための、ゆるふわパワポ術~(qpstudy 2013.01 LT)
Masahito Zembutsu
 
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)
Kotaro Nakayama
 
Scala超入門 - 2014/12/13 Scala関西勉強会
Scala超入門 - 2014/12/13 Scala関西勉強会Scala超入門 - 2014/12/13 Scala関西勉強会
Scala超入門 - 2014/12/13 Scala関西勉強会
Asami Abe
 
Capistrano introduction
Capistrano introductionCapistrano introduction
Capistrano introduction
Misa Kondo
 
Cocos2dx 8hour
Cocos2dx 8hourCocos2dx 8hour
Cocos2dx 8hour
Tomohiko Okita
 
DDDモデリング勉強会 #6
DDDモデリング勉強会 #6DDDモデリング勉強会 #6
DDDモデリング勉強会 #6
株式会社Jurabi
 

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

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

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分でパッケージを作ってインストールする