読者です 読者をやめる 読者になる 読者になる

R入門 (1)

r stat lecture

 Rは、統計解析のためのプログラミング言語です。フリーウェアなので、誰でも自由に入手・使用することができます。公式サイトはこちらで、Wikipediaの記事はこちらです。以下、授業の補足資料です。

簡単な計算と関数

 まず、Rのコンソール画面の入力に慣れるために、簡単な計算をしてみましょう。また、関数と呼ばれる機能を使って、平方根や絶対値を求めてみましょう。

# 四則演算
1 + 1
3 - 2
2 * 2
8 / 2
(1 + 2) * 3

# その他の計算
3 ^ 2 # 累乗
sqrt(9) # 平方根を計算するための関数
abs(-5) # 絶対値を計算するための関数

 練習問題として、こちらのページにある四則演算を「Rを使って」解いてみましょう。

変数への代入

 次に、変数と呼ばれる箱(のようなもの)の中にデータを格納してみましょう。変数の中にデータを入れることを代入と言います。

# 変数に値を代入
x <- 1
x # 代入結果を確認
x <- 2 # 上書き
x # 代入結果を確認

# 変数にベクトルを代入
y <- 1 : 10
y # 代入結果を確認
z <- c(1, 3, 7, 8, 10) # cは関数の名前
z # 代入結果を確認

基本的な統計

 そして、データが代入された変数に対して、中央値標準偏差を求めるなどの様々な関数を実行するも可能です。

# 記述統計量の計算
sum(z) # 総計
mean(z) # 平均値
median(z) # 中央値
min(z) # 最小値
max(z) # 最大値
sd(z) # 標準偏差

 練習問題として、こちらのページにある日本代表選手25名の身長を変数に代入し、その平均値、最小値、最大値を求めてみましょう。

視覚化

 Rには、いくつかのサンプルデータがあらかじめ格納されています。そこで、carsというデータを使って、ヒストグラム箱ひげ図散布図を描いてみます。

# Rに格納されているサンプルデータを使用
cars
cars[, 1] # 1列目 (speed) のデータだけを表示
cars[, 2] # 2列目 (dist) のデータだけを表示

# ヒストグラム
hist(cars[, 1], col = "red") # 引数colで色を指定(省略可)
hist(cars[, 2], col = "blue")
# 箱ひげ図
boxplot(cars[, 1], col = "pink") # 引数colで色を指定(省略可)
boxplot(cars[, 2], col = "lightblue")
# 散布図
plot(cars[, 2], cars[, 1]) # x軸、y軸の順番でベクトルを指定

 練習問題として、こちらのページにある日本代表選手25名の身長と体重のそれぞれを変数に代入し、散布図を描いてみましょう。

相関と回帰

 いま描いた散布図のX軸とY軸の関係(の強さ)を調べるには、相関係数回帰分析などの統計手法が使われます。

# 相関係数
cor(cars[, 1], cars[, 2], method = "pearson") # ピアソンの積率相関係数
cor(cars[, 1], cars[, 2], method = "spearman") # スピアマンの順位相関係数
# 回帰分析
lm(cars[, 1] ~ cars[, 2]) # speedからdistを予測
plot(cars[, 2], cars[, 1]) # 先ほどの散布図
abline(lm(cars[, 1] ~ cars[, 2]), col = "red") # 回帰直線を重ね書き

 練習問題として、上記の日本代表選手25名の身長と体重のデータを使い、相関係数を求め、回帰分析を行ってみましょう。

行列

 ここまでは、ベクトルという1次元のデータを使用してきましたが、行列という2次元のデータを作成することも可能です。

# 行列を作成
matrix(c(1, 2, 3, 4), nrow = 2) # 引数nrowで行列の行数を指定
matrix(c(1, 2, 3, 4), nrow = 2, byrow = TRUE) # 引数byrowでTRUEを指定すると、数字の配置が換わる(要注意)
# 変数に行列を代入
m1 <- matrix(c(12, 17, 22, 16), nrow = 2)
# 代入結果を確認
m1 

 作成した行列に行ラベルと列ラベルを付けることもできます。

# 行ラベルの作成
rownames(m1) <- c("A", "B")
# 列ラベルの作成
colnames(m1) <- c("X", "Y")
# ラベルをつけた結果の確認
m1

カイ二乗検定

 最後に、社会調査でもよく用いられるカイ二乗検定を行います。Rではイェーツの補正がデフォルトになっていますが、この授業では引数correctでFALSEを選ぶことを推奨します。

# カイ二乗検定
chisq.test(m1, correct = FALSE)
# カイ二乗検定(イェーツの補正あり)
chisq.test(m1, correct = TRUE)

 練習問題として、以下の行列をRに入力し、カイ二乗検定イェーツの補正なし)を行いなさい。分析にあたって、行列にラベルをつける必要はありません。

A新聞の購読者 B新聞の購読者
内閣支持 225 292
内閣不支持 275 208

参考リンク

広告を非表示にする