Rの基礎

Rを電卓として使う

Rは高機能な電卓として使えます。コンソールに計算式を入力してEnterを押すと、結果が表示されます。

# 四則演算
1 + 2
[1] 3
10 - 3
[1] 7
4 * 5
[1] 20
20 / 4
[1] 5
# べき乗
2^3
[1] 8
2^10
[1] 1024
# 余りと商
17 %% 5   # 余り
[1] 2
17 %/% 5  # 商
[1] 3

オブジェクト(変数)

計算結果を保存しておくには、オブジェクト(変数)を使います。<- で値を代入します。

x <- 10
y <- 3
x + y
[1] 13
x * y
[1] 30

オブジェクト名は自由につけられますが、以下のルールがあります:

  • 英数字とアンダースコア(_)、ピリオド(.)が使える
  • 数字で始めてはいけない
  • 大文字と小文字は区別される(Xx は別物)
my_score <- 85
average_score <- 72.5
my_score - average_score
[1] 12.5

ベクトル

複数の値をまとめて扱うには、ベクトルを使います。c() 関数で作成します。

scores <- c(80, 75, 90, 85, 70)
scores
[1] 80 75 90 85 70
# ベクトルの演算
scores + 10       # 全要素に10を足す
[1]  90  85 100  95  80
scores * 2        # 全要素を2倍
[1] 160 150 180 170 140
mean(scores)      # 平均
[1] 80
sum(scores)       # 合計
[1] 400
length(scores)    # 要素数
[1] 5

関数

関数は「入力を受け取って、何かの処理をして、結果を返す」ものです。

# よく使う関数
sqrt(16)          # 平方根
[1] 4
abs(-5)           # 絶対値
[1] 5
round(3.14159, 2) # 四捨五入(小数点以下2桁)
[1] 3.14
# 統計関連の関数
x <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
mean(x)    # 平均
[1] 5.5
median(x)  # 中央値
[1] 5.5
sd(x)      # 標準偏差
[1] 3.02765
var(x)     # 分散
[1] 9.166667
min(x)     # 最小値
[1] 1
max(x)     # 最大値
[1] 10
range(x)   # 範囲(最小値と最大値)
[1]  1 10

ヘルプの見方

関数の使い方がわからないときは、? をつけてヘルプを表示できます。

?mean
?round

練習問題

  1. 次の計算をRで行ってください
    • \(3 + 5 \times 2\)
    • \(\sqrt{144}\)
    • \(2^{8}\)
  2. 以下の5人のテスト得点について、平均と標準偏差を求めてください
    • 78, 82, 91, 65, 74
  3. 1から100までの整数の合計を求めてください(ヒント:1:100 で連番を作れます)
# 1
3 + 5 * 2
[1] 13
sqrt(144)
[1] 12
2^8
[1] 256
# 2
scores <- c(78, 82, 91, 65, 74)
mean(scores)
[1] 78
sd(scores)
[1] 9.617692
# 3
sum(1:100)
[1] 5050