R言語は統計的な計算やデータ分析のためのプログラミング言語として広く使われているコンピュータ言語です。この記事では、R言語を使って統計の計算やデータ分析をするのに、これだけ知っておけば大丈夫!という基礎的な知識と使い方についてわかりやすく説明していきます。
イギリスの大学院博士課程の1年目の授業で、Quantitative Researchについての回で、担当講師がRを絶賛していたのも印象的でした。確かにSPSSなどのソフトに比べると、一度基礎をマスターしてしまえば、やれることの幅が断然幅広いツールです。ただ、Rはソフトウェアではなくプログラミング言語なので、導入としてはちょっと敷居が高く感じるかもしれません。筆者自身も最初はそう感じていました。というわけで早速一緒にRの基礎的な使い方について見ていきましょう。
統計R言語を使う準備
Rのダウンロード
Rを使うまず最初の準備として、RとRStudioをダウンロードしてパソコンにインストールするところから始めます。両方とも以下のリンクからダウンロードすることができます。安心していただきたいのは、どちらも完全に無料です!こんなパワフルなツールが無料なのも、Rが世界中の統計学者の間で人気の理由の一つです。
https://posit.co/download/rstudio-desktop/
RStudioとは
RStudioはRを使う上で必須というものではありませんが、Rをより使いやすくしてくれるソフトウェアなので、ダウンロードして利用することをオススメします。私自身もRStudioを使ってデータ分析をやっています。
統計R言語の使い方
データの読み込みと書き出し
データを分析するためには、まず該当するデータをRStudioに取り込まなければいけません。データはCSV、Excelなどのファイルになっていると思いますが、それを取り込むとそのデータを扱って計算をすることができるようになります。CSVファイルは基本パッケージに入っている以下のコードで読み込むことができます。
read.csv("C:/Users/ユーザー名/Desktop/ファイル名.csv")
CSVファイルとエクセルファイルの詳しい読み込み方については、以下の記事で詳しく説明しています。ご参照ください。
[blogcard url = “https://yuko.tv/how-to-import-data-files-in-r/”]
パッケージ
Rには基本的な計算や分析のための機能があらかじめ入っていますが、他のプログラミング言語などと同様に、その機能を拡張する既存のパッケージを外部からインストールして利用することもできます。やりたいことに合わせたパッケージをインストールして読み込み、使用するにはどうすれば良いのでしょうか?
パッケージをインストールするためには以下のコードを使います。「””」の間にパッケージの名前を入れるだけで簡単にインストールすることができます。
install.packages("パッケージの名前")
インストールができたら、今度はそのパッケージを使えるようにするために、プロジェクトの中で読み込みをします。そのためにはlibrary()関数を使います。
library(パッケージの名前)
インストールの時とは違って「””」でパッケージ名を括らなくても大丈夫です。また、一度インストールしたパッケージは、このlibrary()関数を使ってまたすぐに呼び出すことができるので、再度インストールする必要はありません。ちなみにパッケージをアンインストールしたい場合は、以下のコードで行うことができます。
remove.packages("パッケージの名前")
製図ツール
Rは様々な製図をする機能が充実していることでも知られています。折れ線グラフや箱ひげ図、分布図などデータに合わせた図を作ることで、ジャーナルに提出論文などをよりわかりやすくすることができます。製図ツールはパッケージをインストールして使うことが多く、ggplot2などが有名なパッケージです。
その他にも元々Rに入っている基本機能を使って図を作成することもできます。例えば、箱ひげ図(Boxplot)を作りたいのであれば、以下のコードを使うことで簡単に作成することができます。
boxplot("該当データ")
箱ひげ図(Boxplot)の作り方は以下の記事にも詳しく書いているので合わせてご参照ください。
[blogcard url = “https://yuko.tv/how-to-make-a-boxplot-in-r/”]
折れ線グラフ(Lineplot)の作り方は以下の記事に詳しく載せています。
[blogcard url = “https://yuko.tv/how-to-make-a-line-plot-in-r/”]
統計R言語の基礎的な概念
ここまでで、RStudioの使い方はなんとなくわかったと思います。でもいざRを使って計算や分析を行うためには、もう少し基礎的な概念を知っておく必要があります。
データの種類(タイプ)
Rで使われるデータの種類には以下のようなものがあります。
- numeric(数値)
- integer(整数)
- character(文字列)
- logical(論理値)
- factors(ファクター)
数値、整数、文字列はその言葉が表す通りのものですが、論理値(logical)は真(True)または偽(False)の2つの値を表すデータ型です。論理値は、条件や比較の結果などを表現するのに使用されます。
ファクター(Factor)はカテゴリカルなデータを表現するものです。例えば、性別(男性、女性)、学年(1年生、2年生、…)、血液型(A型、B型、AB型、O型)などがカテゴリカルなデータです。
データの構造
Rでは、データの保持や操作に便利なさまざまなデータ構造が用意されています。基本事項として知っておくべきデータ構造は以下の4つです。
- ベクトル(Vector)
- 行列(Matrix)
- データフレーム(Data Frame)
- リスト(List)
まずベクトル(Vector)は、1次元のデータ構造で、同じタイプの要素が並んだ列です。例えば、1〜5の整数を並べてベクトルを作る場合には、以下のように表現します。
# 数値のベクトルの作成
c(1, 2, 3, 4, 5)
行列(Matrix)は、2次元のデータ構造で、同じタイプの要素が行と列に並んだ表のようなデータです。例えば、1〜6の整数を3行2列の表のように表示させたい場合、以下のコードを使って行と列の数を指定します。
# 行列の作成
matrix(c(1, 2, 3, 4, 5, 6), nrow = 3, ncol = 2)
すると以下のような表が作成できます。
[,1] [,2]
[1,] 1 4
[2,] 2 5
[3,] 3 6
データフレーム(Data Frame)は、異なるタイプの要素の複数のベクトルが列として結合された、2次元のデータ構造です。例えば、以下のようなコードでデーターフレームを作成すると、
# データフレームの作成
name <- c("Alice", "Bob", "Charlie")
age <- c(20, 30, 40)
gender <- c("Female", "Male", "Male")
data.frame(name, age, gender)
以下のような表が作成されます。
name age gender
1 Alice 20 Female
2 Bob 30 Male
3 Charlie 40 Male
リスト(List)は、異なるタイプの要素をまとめたデータ構造です。リストの構成要素はどんなタイプものものでもよく、ベクトル、行列、データフレーム、関数、あるいは別のリストも含むことができます。例えば、名前と年齢とテストなどの点数をまとめてリスト化することができ、その場合はこのように書くことができます。
# リストの作成
list(name = "John", age = 28, scores = c(80, 85, 90))
リストは非常に柔軟で、複雑なデータを一つにまとめることができるため、データの構造が複雑な場合や異なる種類のデータをまとめる際に便利です。
関数
Rの計算は関数を基本としています。関数は、一連のタスクを実行するために作られたコードの塊で、名前と入力値を持ちます。関数を呼び出すことで、その中に定義されたコードが実行され、計算結果を得ることができます。中学高校の数学で習ったxやyを使った関数と同じような考え方です。
変数への代入は、「<-」や「=」の演算子を使って変数に値を代入します。例えば、変数 x に値 10 を代入したいのであれば、以下のようにします。
x = 10
#あるいは
x <- 10
基礎的な統計学の知識
Rを使うに当たっては、基本的な統計概念を理解しておくと便利です。最低限でも以下の3つは心得ておきましょう。
- 平均(Mean)
- 中央値(Median)
- 標準偏差(Standard Deviation)
まず平均(Mean)は、データセットの合計をデータの個数で割った値です。私たちが日常的に使う「平均」という言葉と同等で、算術平均とも呼ばれます。全体のデータの平均的な値を示すため、外れ値(Outlier)に影響されやすい特性があります。平均を求めるコードは以下で、至ってシンプルです。平均したいデータセットを括弧に入れるだけで平均を計算してくれます。
mean(該当するデータセット)
続いて中央値(Median)は、データセットを昇順または降順に並べたときに、中央に位置する値です。データの個数が奇数の場合は中央の値そのものになりますが、データの個数が偶数の場合は中央に位置する2つの値の平均になります。中央値は外れ値がデータ全体に与える影響を比較的受けにくいのが特徴です。中央値を求めるコードは以下です。
median(該当するデータセット)
最後に標準偏差(Standard Deviation)は、データのばらつきを示す指標です。データポイントが平均からどれだけ離れているかを示します。標準偏差が小さい場合、データは平均の周りに集中していると言えます。標準偏差が大きい場合、データは平均から離れて散らばっていると言えます。標準偏差を求めるコードは以下です。
sd(該当するデータセット)
まとめ
最後の方は本当にめちゃくちゃシンプルですよね!この記事では、これだけ知っておけばRは使いこなせる!という基礎と使い方についてお話ししてきました。Rは本当に便利なツールですので、早く使いこなせるようになって、統計分析をバンバンこなしてください!