Rの基本的な操作(電卓としての使用)
はじめに
このページではRの基本的な操作について説明します。はじめにRStudioの画面の見た方を説明したのちに,Rを電卓代わりに使ってみたり,変数を代入してみたりします。
RStudioの起動と画面の説明
アプリケーションの一覧からRStudioを選んで起動してみましょう。すると以下のような画面が表示されると思います。
RStudioでは3つに区切られた区画をペイン(Pane)と呼んでいます。普段使う時には,この区画に加えてコードを入力するための区画を表示しておくと便利です。「File → New File → R Script」と押すと左上にあらたな区画が登場したと思います。
基本的にはこの4つの区画を使ってRStudioを操作していきます。4つの役割については図\ref{fig:rstudioview03}に書いてあります。
電卓代わりに使ってみよう
何はともあれまず使ってみましょう。左上のソース画面に
1 + 1
のように打ち込んでみましょう。そして,スクリプト入力欄の少し上にある「Run」ボタンを押してみましょう。コンソールに次のような結果が出力されましたか。
> 1 + 1
[1] 2
同じようにして足し算だけでなく,色々な計算をしてみましょう。
# 引き算
5 - 3
# 掛け算
2 * 10
# 割り算
8 / 3
# べき乗
2^3
# 計算の組み合わせ(掛け算が足し算より優先)
2 + 3 * 4
# 計算の組み合わせ(ここら辺は普通の計算と同じ)
(2 + 3) * 4
# 平方根を求める
sqrt(25)
「Run」というボタンはショートカットキーがあり,「Ctrl + Enter」(Macの場合は「Command + Enter」)でも同じ動作をします。慣れてくるとこちらの方が早いです。複数行にわたるコードをまとめて実行したい場合には,範囲を指定してから実行することで,複数行のコードをまとめて実行することができます。
上のコードで「#」がついている行があります。これはコメントといって,「#」以降に何を書いたとしてもその内容はプログラムで実行されません。コメントは,主にコードの読み手に対して内容を分かりやすくする目的で使われます。
最後に出てきたsqrt()
のようなものは関数と呼ばれます。関数とは,入力された値に対して出力を返すものです。sqrt{}
は与えられた値の平方根を返す関数で,関数の結果出力された値のことを戻り値と呼びます。
ここまででRを高性能電卓として使えるようになりました。では,次の計算をRにさせてみましょう。
$$ (3 \times 2^8)^2 $$
オブジェクトに変数を代入してみよう
プログラミングでは一度計算した値を再利用したいということがよくあります。Rではオブジェクトに値を代入することでこれを実現します。ソースペインに次のように打ってみましょう。
x <- 2
y <- 3
すると右上の変数ペインに次の画像のように表示されるかと思います。
これは「x」という名前のオブジェクトに「2」という値が格納されており,「y」という名前のオブジェクトに「3」という値が格納されていることを示しています。
オブジェクトに格納されている値は呼び出して使うことができます。以下のようなコードを打ち込んで実行すると「2 + 3」が実行されるはずです。
x + y
また,オブジェクト同士の計算の結果を別の名前のオブジェクトに代入することもできます。次の例では,「x + y」の結果が「kotae」という名前のオブジェクトに格納されます。
kotae <- x + y
オブジェクト名はアルファベット一文字である必要はありませんし,日本語名でも大丈夫です(ただしRStudioは日本語の処理が若干不安定なので半角の英数字をお勧めします)。ただし,数字や記号から始まるオブジェクト名はつけることができません。
# オブジェクト名が数字始まりなのでエラーを起こす。
2y <- 1 + 1
ベクトルを操作しよう
ここまでは全てのオブジェクトに一つの数値を代入してきました。統計学はたくさんのデータを扱うことが基本なので,複数のデータがまとまったものを扱えると便利です。同じタイプのデータが複数集まったものをベクトルと言います。ベクトルがRで使うデータの基本的な単位です。
たとえば5人分のテストの成績が「45, 81, 72, 90, 64」というようにあったとします。この5つの数値からなるベクトルを作成したい場合には次のように入力します。
scores <- c(45, 81, 72, 90, 64)
c()
というのはベクトルを作るときに使う関数です。Rではベクトルを関数に入力することで様々な計算が可能です。たとえば
# 平均値を求める
mean(scores)
# 分散を求める
var(scores)
# 標準偏差を求める
sd(scores)
# 中央値を求める
median(scores)
# ベクトルの要素の数を求める
length(scores)
ベクトルの個々の要素の値を取り出したい時には次のように打ちます。
scores[3]
3人目の得点(ベクトルの3番目の要素)である72が取り出されたはずです。
ベクトルは数字だけでなく文字列でも作れます。例えば,先ほどの5人の最終的な成績で「F, A, B, AA, C」だった場合には次のように打つことで文字列ベクトルを作ることが可能です。
grades <- c("F", "A", "B", "AA", "C")
ちなみに文字列ベクトルは数値出ないので平均値や分散を求めようとするとエラーを起こします。関数には入力できるデータの型が決まっているということです。実際にRでエラーを起こさせてみましょう。
mean(grades)