R言語の変数について、詳しく解説します。
Rの変数について
変数は、データを格納するための箱であり、最初にデータを割り当てられた瞬間に作成されます。変数にデータを割り当てるには代入演算子(例えば、<-)を使用します。
次は変数xに値1を代入する例です。このときのxを変数名と呼んだりします。
x <- 1
x
(out)[1] 1
上の例は、値1を変数に代入するという分かりやすい例でしたが、実際にはRのどのようなデータでも変数に代入することができます。
変数の上書き
変数は次の例のように代入により上書きできます。繰り返しになりますが、Rのどのようなデータでも変数に代入することができます。最初は1を代入することによりNumeric型の変数xとなっているのが、”a”を代入したらCharacter型の変数xになっていることに注目してください。
x <- 1
x
(out)[1] 1
(out)
x <- "a"
x
(out)[1] "a"
このように、Rの変数はどのようなデータでも代入できてしまうので、バグが潜みやすいです。そのため、str()を使用してデータ型やデータ構造を確認したり、RStudioを使っている場合は右上のEvvironment領域で確認するクセを付けた方が良いです。
x <- 1
x
(out)[1] 1
(out)
x <- "a" x (out)[1] "a" (out) x |> str()
(out) chr "a"
変数名のルール
上記の例では変数名をxとしていましたが、変数名の付け方にはいくつかルールがあります。変数名のルールを箇条書きにすると、次になります。
- 変数名は文字で始まる必要があり、文字、数字、ピリオド(.)、アンダースコア(_)の組み合わせにすることができます。ピリオド(.)で始まる場合、その後に数字を続けることはできません
- 変数名は数字またはアンダースコア(_)で始まることはできません
- 変数名は大文字と小文字が区別されます(sample、Sample、SAMPLEは3つの異なる変数です)
- 予約語は変数として使用できません(TRUE、FALSE、NULLなど)
変数名について
変数名のルールに従えば、日本語の「あいう」も変数名にできます。
あいう <- "a"
あいう
(out)[1] "a"
しかし、できるならば英数字で変数名を表した方が良いと思います。また、次のように、変数名vectorにデータフレームを代入することもできますが、変数名vectorとそのデータが直感的には不一致を起こしており、可読性が低下してしまいますので、変数名は適切に名付けた方が良いでしょう。
vector <- data.frame(x1 = 1:10, x2 = letters[1:10])
vector
(out) x1 x2
(out)1 1 a
(out)2 2 b
(out)3 3 c
(out)4 4 d
(out)5 5 e
(out)6 6 f
(out)7 7 g
(out)8 8 h
(out)9 9 i
(out)10 10 j
R入門 変数