SlideShare a Scribd company logo
1 of 20
Download to read offline
Google‘s R Style
Guide

のすゝめ  
	
  
TokyoR	
  #34	
  
@kashitan
⾃自⼰己紹介
•  名前 :キタノ  タカシ(@kashitan)
•  仕事 :某通信会社
•  
•  R歴 :6ヶ⽉月(それまでは社内SE)
とある納品物...
意味分からん...
•  分析専⾨門の⽅方ってコードの保守に気を
遣わない気がします。。。
(⼀一⼈人しかお会いしていないので偏⾒見見と
思いますが)
•  TokyoRのサンプルコードは美しいです!
そこで
Google’s"
R"
Style
Guide
•  オリジナル

–  http://google-‐‑‒
styleguide.googlecode.com/svn/trunk/
Rguide.xml

•  RjpWiki

–  http://www.okada.jp.org/RWiki/?
Google's%20R%20Style%20Guide
ファイル名
•  .Rで終わる
•  もちろん意味のある名前

Good

Bad

predict_̲ad_̲revenue.R   foo.R
識識別⼦子(1/2)
•  アンダースコア(_̲)やハイフン(-‐‑‒)は使わな
い
•  変数名は⼩小⽂文字でドット(.)で区切切る

Good
OK

Bad
識識別⼦子(2/2)
•  関数名は先頭は⼤大⽂文字でドット(.)で区切切
らない
•  定数は関数名と同じだけど先頭にkをつけ
る

Good

Bad
スペース(1/2)
•  2項演算⼦子の前後にはスペースを⼊入れる
•  カンマの前にはスペースを⼊入れない
•  カンマの後にはスペースを⼊入れる

Good
スペース(1/2)
•  2項演算⼦子の前後にはスペースを⼊入れる
•  カンマの前にはスペースを⼊入れない
•  カンマの後にはスペースを⼊入れる

Bad
スペース(2/2)
•  開き括弧の前にもスペースを⼊入れる
(関数呼び出しの場合は除く)

Good

Bad
中括弧(1/2)
•  開き中括弧のみの⾏行行にしないこと
•  閉じ中括弧は常にそれだけで1⾏行行にするこ
と

Good
中括弧(1/2)
•  開き中括弧のみの⾏行行にしないこと
•  閉じ中括弧は常にそれだけで1⾏行行にするこ
と

Bad
中括弧(2/2)
•  elseは常に閉じ括弧と同じ⾏行行にすること

Good

Bad
代⼊入
•  =は使わない(使えるの?)

Good

Bad
その他
• 
• 
• 
• 
• 
• 
• 

1⾏行行は80⽂文字以内
インデントはスペース2⽂文字
Tabは使⽤用しない
Tabとスペースを混在させない
セミコロン(;)は使⽤用しない
attachは使⽤用しない
エラーハンドリングはstop()を使⽤用する
Google's r style guideのすゝめ

More Related Content

Viewers also liked

10分で分かるr言語入門ver2.4
10分で分かるr言語入門ver2.410分で分かるr言語入門ver2.4
10分で分かるr言語入門ver2.4Nobuaki Oshiro
 
Tokyo.R女子部#2「RMeCabを使おう」
Tokyo.R女子部#2「RMeCabを使おう」Tokyo.R女子部#2「RMeCabを使おう」
Tokyo.R女子部#2「RMeCabを使おう」Sachiko Hirata
 
再発事象の解析をやってみる
再発事象の解析をやってみる再発事象の解析をやってみる
再発事象の解析をやってみるAtsushi Hayakawa
 
はじめてのパターン認識読書会 第四回 前半
はじめてのパターン認識読書会 第四回 前半はじめてのパターン認識読書会 第四回 前半
はじめてのパターン認識読書会 第四回 前半Atsushi Hayakawa
 
アクションマイニングを用いた最適なアクションの導出
アクションマイニングを用いた最適なアクションの導出アクションマイニングを用いた最適なアクションの導出
アクションマイニングを用いた最適なアクションの導出Shintaro Fukushima
 

Viewers also liked (9)

10分で分かるr言語入門ver2.4
10分で分かるr言語入門ver2.410分で分かるr言語入門ver2.4
10分で分かるr言語入門ver2.4
 
Tokyo.R女子部#2「RMeCabを使おう」
Tokyo.R女子部#2「RMeCabを使おう」Tokyo.R女子部#2「RMeCabを使おう」
Tokyo.R女子部#2「RMeCabを使おう」
 
再発事象の解析をやってみる
再発事象の解析をやってみる再発事象の解析をやってみる
再発事象の解析をやってみる
 
はじめてのパターン認識読書会 第四回 前半
はじめてのパターン認識読書会 第四回 前半はじめてのパターン認識読書会 第四回 前半
はじめてのパターン認識読書会 第四回 前半
 
Tokyo r30 beginner
Tokyo r30 beginnerTokyo r30 beginner
Tokyo r30 beginner
 
StanTutorial
StanTutorialStanTutorial
StanTutorial
 
Tokyo r30 anova
Tokyo r30 anovaTokyo r30 anova
Tokyo r30 anova
 
アクションマイニングを用いた最適なアクションの導出
アクションマイニングを用いた最適なアクションの導出アクションマイニングを用いた最適なアクションの導出
アクションマイニングを用いた最適なアクションの導出
 
Decision tree
Decision treeDecision tree
Decision tree
 

More from Takashi Kitano

好みの日本酒を呑みたい! 〜さけのわデータで探す自分好みの酒〜
好みの日本酒を呑みたい! 〜さけのわデータで探す自分好みの酒〜好みの日本酒を呑みたい! 〜さけのわデータで探す自分好みの酒〜
好みの日本酒を呑みたい! 〜さけのわデータで探す自分好みの酒〜Takashi Kitano
 
{shiny}と{leaflet}による地図アプリ開発Tips
{shiny}と{leaflet}による地図アプリ開発Tips{shiny}と{leaflet}による地図アプリ開発Tips
{shiny}と{leaflet}による地図アプリ開発TipsTakashi Kitano
 
令和から本気出す
令和から本気出す令和から本気出す
令和から本気出すTakashi Kitano
 
{tidygraph}と{ggraph}による モダンなネットワーク分析(未公開ver)
{tidygraph}と{ggraph}による モダンなネットワーク分析(未公開ver){tidygraph}と{ggraph}による モダンなネットワーク分析(未公開ver)
{tidygraph}と{ggraph}による モダンなネットワーク分析(未公開ver)Takashi Kitano
 
{tidytext}と{RMeCab}によるモダンな日本語テキスト分析
{tidytext}と{RMeCab}によるモダンな日本語テキスト分析{tidytext}と{RMeCab}によるモダンな日本語テキスト分析
{tidytext}と{RMeCab}によるモダンな日本語テキスト分析Takashi Kitano
 
{tidygraph}と{ggraph}によるモダンなネットワーク分析
{tidygraph}と{ggraph}によるモダンなネットワーク分析{tidygraph}と{ggraph}によるモダンなネットワーク分析
{tidygraph}と{ggraph}によるモダンなネットワーク分析Takashi Kitano
 
20170923 excelユーザーのためのr入門
20170923 excelユーザーのためのr入門20170923 excelユーザーのためのr入門
20170923 excelユーザーのためのr入門Takashi Kitano
 
mxnetで頑張る深層学習
mxnetで頑張る深層学習mxnetで頑張る深層学習
mxnetで頑張る深層学習Takashi Kitano
 
可視化周辺の進化がヤヴァイ 〜2016〜
可視化周辺の進化がヤヴァイ 〜2016〜可視化周辺の進化がヤヴァイ 〜2016〜
可視化周辺の進化がヤヴァイ 〜2016〜Takashi Kitano
 
Rによるウイスキー分析
Rによるウイスキー分析Rによるウイスキー分析
Rによるウイスキー分析Takashi Kitano
 
20160311 基礎からのベイズ統計学輪読会第6章 公開ver
20160311 基礎からのベイズ統計学輪読会第6章 公開ver20160311 基礎からのベイズ統計学輪読会第6章 公開ver
20160311 基礎からのベイズ統計学輪読会第6章 公開verTakashi Kitano
 
20140625 rでのデータ分析(仮) for_tokyor
20140625 rでのデータ分析(仮) for_tokyor20140625 rでのデータ分析(仮) for_tokyor
20140625 rでのデータ分析(仮) for_tokyorTakashi Kitano
 
lubridateパッケージ入門
lubridateパッケージ入門lubridateパッケージ入門
lubridateパッケージ入門Takashi Kitano
 

More from Takashi Kitano (15)

好みの日本酒を呑みたい! 〜さけのわデータで探す自分好みの酒〜
好みの日本酒を呑みたい! 〜さけのわデータで探す自分好みの酒〜好みの日本酒を呑みたい! 〜さけのわデータで探す自分好みの酒〜
好みの日本酒を呑みたい! 〜さけのわデータで探す自分好みの酒〜
 
{shiny}と{leaflet}による地図アプリ開発Tips
{shiny}と{leaflet}による地図アプリ開発Tips{shiny}と{leaflet}による地図アプリ開発Tips
{shiny}と{leaflet}による地図アプリ開発Tips
 
令和から本気出す
令和から本気出す令和から本気出す
令和から本気出す
 
{tidygraph}と{ggraph}による モダンなネットワーク分析(未公開ver)
{tidygraph}と{ggraph}による モダンなネットワーク分析(未公開ver){tidygraph}と{ggraph}による モダンなネットワーク分析(未公開ver)
{tidygraph}と{ggraph}による モダンなネットワーク分析(未公開ver)
 
{tidytext}と{RMeCab}によるモダンな日本語テキスト分析
{tidytext}と{RMeCab}によるモダンな日本語テキスト分析{tidytext}と{RMeCab}によるモダンな日本語テキスト分析
{tidytext}と{RMeCab}によるモダンな日本語テキスト分析
 
{tidygraph}と{ggraph}によるモダンなネットワーク分析
{tidygraph}と{ggraph}によるモダンなネットワーク分析{tidygraph}と{ggraph}によるモダンなネットワーク分析
{tidygraph}と{ggraph}によるモダンなネットワーク分析
 
20170923 excelユーザーのためのr入門
20170923 excelユーザーのためのr入門20170923 excelユーザーのためのr入門
20170923 excelユーザーのためのr入門
 
mxnetで頑張る深層学習
mxnetで頑張る深層学習mxnetで頑張る深層学習
mxnetで頑張る深層学習
 
可視化周辺の進化がヤヴァイ 〜2016〜
可視化周辺の進化がヤヴァイ 〜2016〜可視化周辺の進化がヤヴァイ 〜2016〜
可視化周辺の進化がヤヴァイ 〜2016〜
 
Rによるウイスキー分析
Rによるウイスキー分析Rによるウイスキー分析
Rによるウイスキー分析
 
20160311 基礎からのベイズ統計学輪読会第6章 公開ver
20160311 基礎からのベイズ統計学輪読会第6章 公開ver20160311 基礎からのベイズ統計学輪読会第6章 公開ver
20160311 基礎からのベイズ統計学輪読会第6章 公開ver
 
20140625 rでのデータ分析(仮) for_tokyor
20140625 rでのデータ分析(仮) for_tokyor20140625 rでのデータ分析(仮) for_tokyor
20140625 rでのデータ分析(仮) for_tokyor
 
lubridateパッケージ入門
lubridateパッケージ入門lubridateパッケージ入門
lubridateパッケージ入門
 
20150329 tokyo r47
20150329 tokyo r4720150329 tokyo r47
20150329 tokyo r47
 
20140920 tokyo r43
20140920 tokyo r4320140920 tokyo r43
20140920 tokyo r43
 

Google's r style guideのすゝめ