R(RStudio)を使う(1)

Rを使うために最低限必要な情報や理解しておくべき文法をまとめていくページです。RStudioでもRでも好きな方でいろいろと試してみてください。

Rについて

Rについて、できることや知っておくべきことをまとめておきます。

Rでできること

Rはパッケージを用いて拡張することができるという特徴があるので、どんどんできることが増えています。最近では、レポートの作成もできるようになりさらに便利になりました。

  • 四則演算や関数を使った複雑な計算
  • データ(外部ファイル)の読み込み・書き出し
  • グラフの作成
  • 統計解析・まとめ
  • パッケージを用いた拡張
  • プログラムの作成・シミュレーション
  • レポートの作成

知っておくべきこと

Rに限らず、新しいことを始める際に躓くことはよくあります。それを少しでも回避するために、知っておくべきことをまとめておきます。

コマンドの処理方法

Rはコマンドを上から順に逐次実行していきます。予定した動作と異なる結果の場合、コマンドを記述する順番もちゃんと確認してみましょう。

コマンドの実行には、スクリプトファイルを用いる場合と、直接実行する場合がありますが、どちらの場合も上から順に実行する点に違いはありません。スクリプトファイルを用いた方法は、また後述する予定です。

文字の入力について

Rに限らず、コンピュータ言語は文字の判別についてかなり厳格です。下記の点には特に注意してください。(絶対に推奨しませんが、)特にWordやExcelなどでスクリプトを管理する場合、半角と全角がわかりにくくなるので気をつけてください。

大文字と小文字
大文字と小文字は違う文字として認識されます。つまり「a」と「A」は別物です。
半角と全角
半角と全角も違う文字です。「10」と「10」は別物です。
特にスペースや括弧は気をつけてください。半角のスペースはスペースですが、全角のスペースは文字として認識されます。また関数などの閉じ括弧が全角だとエラーが出ますし、なかなか気づきにくいです。

プロンプト

RまたはRStudioのConsoleペインに表示される「>」をプロンプトと呼びます。Rのコマンドを直接実行する場合は、プロンプトに引き続き入力します。コマンドを入力している途中で「Enter」を押した場合、次の行に「+」が表示され、続きの入力を求められます(*)。

*: 入力し終えたのに「+」が表示される場合は、閉じ括弧が全角だったり、閉じ括弧の数があっていないことが多いです。

最低限の文法

Rを使い始めるに当たり、絶対に知っておいてほしい文法は、コメントと関数の使い方です。

コメント

コメントとは、Rのコマンドやコードに混じっていても、Rは読み込まない(評価しない)文章、つまり人のために書く文章を指します。

  1. 文頭・文中(*)・文末どこでも、「#」の後に続けて書いたものが改行まですべてコメントとなる。

*: 文中に「#」を書いた場合、以降全てコメントになり、Rに評価されないので注意が必要です。

コメントを書いたコマンド例

> # ←の「#」以降は全てコメントなので、何も実行されない。
> plot(1:10) # plot(○○)関数は作図コマンドなので、図が表示される。
> # 上の行で、plot(1:10)は実行されるが、plot(○○)は実行されない。

コメントはスクリプトファイルなどにコードを残していくときに重要になります。もちろん自分が後で見返すときにも参考になりますし、他者がコードを見るときにも参考になります。具体的には、「何をどのように行うためのコードで、どんなデータが必要なのか」といった情報をしつこいくらいに記述しておけばいいと思います。

関数と引数

Rは関数(や演算子)を用いて操作することで電卓を超える。関数は元から用意されているもの、パッケージの追加で使えるものの他、自分で作ることもできる。まずは、関数について、基本的なことだけまとめておきます。

上図の通り、関数は引数を用いて、返り値を返します。使い方は下記の通りです。

> # 関数(引数, 引数, ...)
> sqrt(2)
> t.test(height ~ data = dat)

引数
関数が読み込むオブジェクト(*)
ただし、引数を必要としない関数もある。
返り値
関数が結果として返すオブジェクトで、リストやベクトルなどがある。

オブジェクトについてはまた別のところで解説します。ここでは、変数やデータなどと理解しておいて結構です。

ヘルプの使い方

Rでは、ヘルプを見るのにも関数を使います。関数の使い方をヘルプを例に見ていきましょう。

> # help(関数名):help()関数で関数やデータセットのヘルプを参照できます。
> # 「?関数名」としてもヘルプを参照できます。
> help(sqrt) # sqrt()関数は平方根を求める関数
> help(t.test) # t.test()関数は検定を行う関数

また、関数名がわからず、キーワードしか情報がない場合、help.search()関数を使います。

> # help.search("キーワード")でRのヘルプを検索してくれます。
> help.search("Count Data")

ヘルプの構成
Description 説明 S4 methods S4メソッドについて
Usage 関数のひな形 Note 注意書き
Arguments 引数の説明 References 参考文献
Details 詳細な説明 See Also 関連する事柄や関数など
Value 返り値 Examples 使用例

ヘルプを見るときは、とにもかくにも「ひな形」と「例」を見てまねをすることが理解への一番の近道になります。うまくいかない場合は、「引数」と「返り値」を調べてみるといいでしょう。

便利な小技

いくつかの使いこなすための小技を紹介したいと思います。

プロジェクトの活用

情報収集用のプロジェクトを作成しておくと、将来的に自分用のコマンド集ができあがるのでおすすめです。名前は、なんでもいいですか、いつでも開けるようにして、しっかりとコメントをつけておくことがコツになります。

検索方法

Rは検索がしづらいソフトウェアです。検索のコツには以下のものがあります。

  1. 「R」だけでなく、「統計」など別の文言を追加する。
  2. 「エラーメッセージ」をそのまま検索する。
  3. 有用なサイトをブックマークしておき、サイト内を検索する。
  4. twitterを検索する。

さらに細かい事柄

履歴機能
プロンプトが表示されている画面では、矢印キー「↑」「↓」でコマンドの履歴が使える。
補完機能
「Tab」キーで補完機能が使える(RStudioではより優秀な補完機能が使えます)。
Rの例:sq「Tab」→sqrt
RStudioの例:sq「Tab」→sqrt()
コマンドの区切り
「;」で複数のコマンドを1行に記述でき、まとめて実行できる。