RとRStudioを使ってみる (1) ベクトル
とりあえずRStudioを起動してみましょう。
起動直後のRstudioの画面は3つのペインから構成されています。
- 左側:コンソール
- 右上:環境と履歴
- 右下:その他(ファイル、プロットなど)
コンソールにプロンプト”>
“が表示されているので、続けて”1 + 2
“などと入力して、エンターを押してみましょう。 すると、以下のように表示されます。
> 1 + 2
[1] 3
Rはインタープリタ(命令や関数を逐次解釈しながら実行する方式)なので、コンソールに打ち込まれた”1 + 2
“を評価(実行して結果を返す…ぐらいの意味)して、答えの”3
“を返してきました。
答えの”3
“の前になぞの”[1]
“が表示されますが、これは「ベクトルの要素の1番目から表示しています。」というお知らせです。
なぞの”[1]”とベクトル
Rはデータを塊のまま取り扱うのが得意です。ベクトルはRの基本的なデータの構造で、複数個の要素を一つにまとめたものです。
中学校?で習った「力(ちから)」はベクトルでした。力は方向と大きさの要素を持ったベクトルとして表現されていました。
力は方向と大きさの要素を持っていますが、Rのベクトルは、数値のベクトル、文字(文字列)のベクトルなどです。数値と文字のベクトル…とかはできないです(´・ω・`)ショボーン
プログラムの経験のある人には、1次元配列の構造…がイメージしやすいですね。
R関連書籍には、プログラムで必要になる「変数」について、一般的な呼称である「変数」を使わずに(断りを入れて)「ベクトル」と呼ぶ書籍もあるぐらいです。
“3
“の要素は1つですが、それでもRはベクトルとして扱います。たまたま、要素が1つしかなかったというだけです。
試しに、以下を実行してみます。
> is.vector(3)
[1] TRUE
is.vector(3)
:”3
“はベクトルですか? ⇒ TRUE
:そうです。
ベクトルを書いてみる
要素1つでもベクトルですが、複数の要素を持ったベクトルがどのように表示されるか試してみましょう。”>
“に続けて、入力して、エンターです。”#
“以下はコメントです。実行に影響を与えません。また、入力しなくてもOKです。
> c(1, 2, 3, 5, 8, 13) # c(…)のカッコ内の要素をひとまとめにしたベクトル
[1] 1 2 3 5 8 13
> 10:100 # 10から100までの連続した整数のベクトル
[1] 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
[18] 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
[35] 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
[52] 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
[69] 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
[86] 95 96 97 98 99 100
> seq(5, 30, 3) # 5から30まで、3ずつ増加させた数値のベクトル
[1] 5 8 11 14 17 20 23 26 29
> rep(0.1, 30) # 0.1を30個もったベクトル
[1] 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1
[18] 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1
> c(1, 2, c(10, 20), 30:40) # こんなのもできます。
[1] 1 2 10 20 30 31 32 33 34 35 36 37 38 39 40
画面の広さによって[]
の中の番号は少し違うかもしれませんが、Rはこんな塊のデータを扱います。