1 RとRStudioの導入

1.1 R と RStudio について

R は統計解析用のプログラミング言語です。

RStudio は R を使うための開発環境(プログラミングをするためのアプリ)です。
R だけでも(RStudio を使わなくても)R による統計解析は可能ですが、RStudio には R を便利に使うための機能が豊富に用意されているため、多くの人が RStudio を利用して R による統計解析の作業を行なっています。

1.2 R と RStudio のインストール

1.2.1 R のインストール

R の公式サイトに行く。
https://cran.ism.ac.jp/

Windows 版をインストールする場合は Download R for Windows を選ぶ。
Base を選ぶ。
Download R X.X.X for Windows を選んでデータをダウンロードし、それを実行して R をインストールする。

X.X.X という部分はバージョン番号です。その時点での最新版が掲載されています。

1.2.2 RStudio のインストール

RStudio の公式サイトに行く。
https://rstudio.com/

Download RStudio を選ぶ。
RStudio Desktop の DOWNLOAD ボタンを選ぶ。

Windows 版をインストールする場合は RStudio X.X.XXXX - Windows を探してダウンロードし、それを実行してインストールする。

1.3 RStudio の画面について

RStudio を起動すると次のような画面になっているはずです。

場合によっては各ウィンドウ(タブ)の位置や大きさが違うかもしれません。
また、これは Mac 版の画像ですが、Windows 版でもほぼ同じはずです。

ここで、次のような操作をして「R スクリプト」(後述)の画面を開いておきます。

左上にある + 印のあるアイコンをクリックし、R Script を選択します。
または、メニューバーの File から New File を選んで R Script を選択しても OK です。

すると次のように画面が4分割されるはずです。

もしスクリプト画面が小さい場合は、他のウィンドウとの境界にカーソルを合わせてドラッグすることでそれぞれのウィンドウの大きさを調節することができます。

このように画面が4つに分割された状態が RStudio で作業をする時の基本的な画面構成です。

1.3.1 各タブについて

スクリプト画面

ここに R のプログラム(スクリプト)を書きます。
この画面の右上には Run や Source というボタンがあり、これを押すとプログラムを実行することができます(後述)。

Console タブ

ここにプログラムの実行結果(計算した答えなど)が表示されます。
また、スクリプト画面ではなくコンソール画面にスクリプトを書いて実行させることもできます。

Environment タブ

プログラムで使用中の変数や関数などの情報が表示されます。

Files タブ

パソコン内のファイルの一覧が表示されます。
ここからパソコン内のファイルを読み込んだりすることができます。

また、Files タブのある画面には他にも Plots, Packages, Help, Viewer などのタブが並んでいます。

Plots タブにはスクリプトで作成した図が表示されます。
Packages タブにはパッケージのリストが表示されます。
Help タブには関数のヘルプ画面が表示されます。
Viewer タブにはWebページの表示などができます。

1.3.2 画面の配置の変更

デフォルトではスクリプトが左上、コンソールが右下、などといった配置になっていますが、各タブの位置は変更することができます。タブをドラッグして位置を変える…ことができれば良かったのですが、現在のところそのようなやり方はできません。

画面配置を変更するには、メニューバーの Tools > Global Options を選びます。

設定画面が表示されるので、Pane Layout を選びます。

Console は左下にありますが、右上のスロットで Console を選びましょう。
すると Console が右上の位置に移動します。

同様にして、左下のスロットで Source を選びます。
OK を押して設定画面を抜けると、次のように画面配置が変更されています。

私はこの配置で普段は作業をしていますが、好みなので自分にとってやりやすい配置を考えると良いでしょう。

1.3.3 表示設定等

Tools > Global Options では、画面配置以外にも様々な設定を行うことができます。

設定についての詳しい説明はこのページなどを参考にしてください。

RStudioのGlobal Optionsの各種設定
https://www.trifields.jp/various-settings-for-global-options-of-rstudio-2411

例えば、Global Options の Appearance で文字サイズやテーマを変えることができます。

Zoom で RStudio の UI のサイズを変更できます。
Editor font size で文字の大きさを変更できます。
ディスプレイの解像度によっては RStudio のアイコンや文字が大きすぎたり小さすぎたりする場合があるので、そのような時はこれらの値を調整すると良いでしょう。

また、Editor theme を変えることで配色を変えることができます。
例えば Material を選ぶと以下ようなダークモードになります。

1.4 基本的な計算

まずは R を使った簡単な計算をしてみましょう。
Console タブに、以下のように打ち込んでエンターキーを押してください。

そうすると以下のように表示されるはずです。

## [1] 2

[1] という部分は今はとりあえず無視してください。その隣の2というのが計算の答えの部分です。

先頭の ## はRの計算結果に表示される内容という意味で印として付けているものなので、このテキストで##から始まっている行はあなたがコンソールに入力する内容ではありません。

ちなみに、+ 記号の前後にスペースが入ってもかまいません。
以下の2つはどちらも同じ意味です。

記号の前後にスペースを入れるのは見やすさのためです。無くてもかまいません。

他にも色々な計算をしてみましょう。

sqrt というのは R で使える関数のひとつで、カッコ内に書かれた数値の平方根を求めます。
R では他にも様々な関数を利用することができます。
以下にいくつかの例を示します。

1.4.1 入力が足りない場合

コンソールに例えば 10+ と入力してエンターを押すと押すと、R は入力待ち状態になります。

10+
+

足し算をするためにもう一つの数字を入れると、答えが計算され表示されます。

10+
+ 20
## [1] 30

このように、入力した式が途中まで(不完全)だった場合には、コンソールはその続きの入力を待った状態になります。続きの内容を入力して式を完成させてエンターを押せば答えが表示されます。

また、入力待ち状態の時にキーボードのエスケープキーを押せば入力を取りやめることができます。

1.4.2 エラーメッセージ

もし文法的に間違った式を入力すると R はエラーを伝えるメッセージを表示します。

1.5 変数を使う

1.5.1 変数の作成

R やその他のプログラミング言語では、数値などのデータを変数として保持させることができます。

例として、消費税の値を表現する変数を作ってみましょう
下の式では、tax という名前の変数を作り、そこに 0.08 という値を代入しています。

この式をコンソールに入力してエンターを押すと、tax という名前の変数が作成されます。

作成された変数は Environment タブに表示されます(tax 0.08 と表示されているはず)。

変数を確認するため、コンソールに変数名を打ち込んでエンターを押してみましょう。

## [1] 0.08

そうすると、tax の値である 0.08 が表示されました。
この変数には 0.08 という値が正しく割り当てられていることが確認できました。

1.5.2 変数を使った計算

変数を使うと計算を便利に行えます。

例えば、商品の税込価格を計算したいとします。

まず、税抜きでの価格を表す price という変数を新たに作成することにします。
すると、税込価格は、2つの変数を使って以下のように計算できます。

324 円という計算結果が得られました。

もし商品の値段が 720 円だった場合はどうなるでしょうか。
price の値に 720 を代入し、再度同じ計算をします。

777.6 円になりました。

商品の値段なので、計算結果は整数にする必要があります。
消費税を加えた値段の少数をどう処理するか(切り捨て、切り上げ、四捨五入のどれを行うか)は、事業者が自由に決めることができるようです。それぞれの場合の値段は以下のようになります。

ところで、消費税の計算結果を変数に割り当てることもできます。
例えば、小数を切り捨てした価格を price2 という変数に割り当てます。

price2 という変数に税込の価格が入りました。

1.5.3 変数の上書き

ここで、変数の使い方について少し補足をします。
上の式では price2 という新しい変数を作成しましたが、元からある price という変数に税込価格を代入することも可能です。つまり、以下のようにします。

price という変数の値が税込みの価格になりました。
(price は新しい値で上書きされるため、元の 720 という値は失われました)

この式の = は数学的に見ればおかしく見えるかもしれません。
= の左側と右側は同じ値ではないので“イコール”ではないので)
プログラミングの場合の = 記号は、右側の計算結果を左側の変数に代入する、ということを意味していると考えて下さい。

以上の内容を全てまとめて書くと以下のようになります。

1.5.4 代入記号について

以上の説明では、変数に値を代入するための記号として = を使っていました。
R では <- という記号を使うことでも代入を行えます。

R では = よりも <- を使うことが推奨されることが多いですが、ほとんどの場合にはどちらを使っても違いはないので、自分の好みでどちらを使うか選んで良いと思われます。
本テキストでは基本的に = を使うことにします。1文字なので入力が簡単ですし、他のプログラミング言語でも代入には = 記号を使うのが普通だからです。

=<- は厳密には同じものではないので、場合によって違う挙動を示すことがあります。
詳しくは以下のページなどを参考にして下さい。
https://colinfay.me/r-assignment/

また、R では -> という代入記号も存在します。
これは =<- とは違い、左側の値を右側の変数へと代入する際に使います。

普段は -> 記号を使うことはほとんど無いと思いますが、パイプ演算の結果を変数に代入する場合などには便利です。

1.5.5 変数の命名規則

上記の例では taxprice などといった名前の変数を作っていました。
変数にはどんな名前でも付けられるわけではなく、ある程度の制限があります。

  • 変数名に使える文字は小文字の a から z および大文字の A から Z
  • 0 から 9 の数字や ピリオド . および アンダースコア _ も使える
  • 変数名の最初の文字に数字を使うことはできない
  • R の予約語を変数名に使うことはできない

変数名の小文字と大文字は区別されます。なので、pricePrice は別の変数として扱われます。

変数名の最初の文字に数字は使えないので、se7en という変数名は可能ですが 7even という変数名は使えません。

予約語というのは R 言語で使う特殊な役割を持ったキーワードのことで、それらと同じ名前の変数名を付けることはできません。そのようなキーワードとしては if, else, while, function, for, in, next, break, TRUE, FALSE, NULL, NA, NaN, Inf などがあります。 これらの予約語を暗記しておく必要はありません。もしこれらの文字を変数名に使おうとすると R はエラーを出して教えてくれるので。

1.5.5.1 変数名の慣例

変数に名前を付ける際に人々がよく使う慣例があります。
例えば税込価格を表すための変数に price including tax というような名前を付けたいとします。変数名にスペースを入れることはできないので、単語の区切りとしてアンダースコアや大文字を使います。

これらの命名方法には「スネークケース」「キャメルケース」「パスカルケース」などと名前がついています。キャメルケースとパスカルケースの違いは、パスカルケースでは1文字目も大文字なところです。

プログラミング言語によってはどの命名方法を使うべきかについて推奨される方法があったりしますが、R の場合にはこれといってどれが推奨されているということは無いようです。
スネークケースやキャメルケースが使われることが多いように思いますが、ピリオドを用いる方法もしばしば使われます。

price_including_tax という変数名は説明的でわかりやすいのですが、変数の名前としては少し文字数が多い感じもします。
略語を使って price_incl_tax などとするか、頭文字を使って PIT などとするのも手です。
ただし、変数名を過度に短くしてしまうと他の人が見たときにどういう意味の変数なのか分からない可能性が高くなりますし、自分にとってもしばらく時間が経った後に見ると何のだかわからなくなりがちなので、なるべく意味のわかりやすい変数名を付けるようにするのが良いでしょう。

1.6 R スクリプトを利用する

コンソールに計算内容を打ち込んで答えを確認するという方法は、上記のような数行程度の短い簡単な計算をする分には便利です。しかし、実際のデータ分析の際にはもっと多くの計算を続けて行う必要があり、プログラム全体の行数が増えます。分析のたびに毎回コンソールに全ての命令を記入するのは面倒ですし、どのような命令をどのような順序で打ち込んだかという記録が残らないので、行ったデータ分析の内容を後から再現することもできません。

そこで、R を使って統計分析をする際は、スクリプトファイルに命令をまとめて記述し、実行するという方法をとります。

1.6.1 R スクリプトの作成と保存

RStudio の画面にスクリプトファイルが表示されていない場合はスクリプトファイルを新規作成しましょう(このページの前半の手順ですでにスクリプトファイルを作っていた場合はそれを利用します)。

スクリプトの新規作成方法
左上にある + 印のあるアイコンをクリックし、R Script を選択します。
または、メニューバーの File から New File を選んで R Script を選択しても OK です。

スクリプトを新規に作ったら、まずはそれをパソコンに保存しておきます。
メニューバーから File > Save を選び、適当な名前を付けて、パソコン内の好きな場所に保存します。
パソコン内の好きな場所に新しく R 用のフォルダを作って、そこに保存するようにしましょう。

ファイル名に日本語を使うとトラブルの元なので、英数字のみの名前にしましょう。
ファイル名だけでなくフォルダ名もなるべく英数字だけを使うと良いでしょう。
また、ファイル名やフォルダ名にはスペースを入れないようにしましょう。

1.6.2 Files タブの利用

R 用のフォルダを作ったので、それを RStudio で表示させてみましょう。
Files タブの右端にある … というアイコン(下図を参照)をクリックします。

そうしたら、自分がいま作った R 用のフォルダを選択します。
すると、Files タブに、自分が作成した R スクリプトのファイルが表示されるはずです。
下図の例だと、パソコン内の Home という場所に myR という名前の R 用フォルダを作っており、そこに myscript という名前の R スクリプトがあります。

ここで、別の R スクリプトファイルを新しく作成し、同じフォルダに保存してみましょう。
すると、Files タブに新しく作ったスクリプト名が表示されているはずです。

スクリプトタブの x 印をクリックするとそのタブが消えますが、Files タブのスクリプト名をクリックすればそのスクリプトがスクリプトタブに開かれます。
R 用のフォルダの中には現在はスクリプトファイルしかありませんが、エクセルファイルや CSV ファイルなどデータ分析に使う様々なデータをフォルダ内に置くことになります。それらも Files タブに表示されますし、ファイルの種類によってはそれをクリックすることで中身を表示させることもできます。

1.6.3 working directory の設定(最初はここは飛ばしてもOK)

続けてworking directory の設定を行いましょう。

working directory とは、データ分析の作業を行う場所(フォルダ)のことです。R スクリプトにエクセルなどのデータを読み込んだり分析の結果を出力・保存する場合などに、working directory を基準にしてデータの位置を指定することになります(詳しくは後述)。とりあえずは、上で R 用に作成したフォルダを working directory に設定してみましょう。

working directory を設定する方法はいくつかありますが、簡単なのは Files タブの More アイコンを使う方法です。まず、Files タブに working directory に設定したいフォルダを表示させます(上の手順をやっているならすでにそうなっています)。

歯車アイコンとその横に More と書かれているボタンがあるのでそれを押して、Set As Working Directory を選びます。すると、Files タブで開いているフォルダが working directory に設定されます。

操作が上手く行っていれば、Console タブの Console という文字のすぐ下の部分に自分が設定したフォルダの名前が表示されているはずです。
あるいは、Console に getwd() と打ち込んでエンターを押すと、working directory がどこであるかの情報が表示されます。

RStudio を起動するたびに毎回 working directory の指定を行うのは面倒なので、RStudio の設定画面からデフォルトの(RStudio の起動時に設定される)working directory を設定しておきましょう。

メニューバーの Tools > Global Options から設定画面を開き、General の Default working directory の欄の右端にある Browse… というボタンを押して、自分の R 用フォルダを選んでおきます。これで、RStudio を終了させた後に再度起動すると、最初からそのフォルダが working directory に設定された状態で作業を始めることができます。

実際にやってみましょう。RStudio を終了させ、再度起動すると、Files タブには自分が設定したフォルダが表示されており、Console に getwd() と打てばそのフォルダの位置が表示されているはずです。

1.6.4 R スクリプトの実行

スクリプトファイルに以下のような内容を書いて保存して下さい。

スクリプトを保存するにはいくつかの方法があります。

  • File > Save を選ぶ
  • スクリプトタブにあるフロッピーディスクのアイコンを押す
  • キーボードで Ctrl + S(Ctrl と S を同時押し)する(Mac なら ⌘ + S)

このスクリプトを実行するには、スクリプトタブの右上にある Source というボタンを押します。
(またはキーボードで Ctrl + Shift + S [Macなら ⌘ + Shift + S]を押す)
すると、Console には変数 z の値が表示され、Environment タブには各変数の値が表示されるはずです。

Source タブを押すと、スクリプトファイルに書かれた内容が上から順に全て実行されます。

4行目の print() というのは、()内の変数の内容を Console に表示させるための関数(命令)です。

スクリプトファイルの実行は Run ボタンでも可能です。

Run ボタンを押すとスクリプトファイルで現在選択中の行だけが実行されます。
例えば、x = 3 の行にカーソルを合わせてクリックし選択状態にしておきます。
その状態で Run ボタンを押せば、この行だけが実行されます。

また、スクリプトファイルで複数行をドラッグして選択状態にして Run を押すと、選択されている複数行がまとめて実行されます。
例えば以下のように1〜3行を選択した状態で Run を押すと、その3行分が実行されます。

スクリプトの内容を全てまとめて実行したい場合は Source、一部分だけを実行したい場合は Run を使いましょう。

1.6.5 コメント記号について

スクリプトを書く際に便利な機能としてコメントがあります。
R では、# 記号以降の内容は無視され実行されません。

試しにコンソールに # 1 + 1 と入力してエンターを押してみて下さい。
文頭に # 記号が付いていると、計算は行われず何も起こりません。

この性質はスクリプトにコメントを入れるのに使われます。

1行目ではスクリプト全体の目的(税込の商品価格を計算する)を記述しています。
3, 4行目では変数作成の右側に変数の意味について補足説明を加えています。

このように、スクリプトにコメントを入れることで後で見たときに意味がわかりやすくなります。