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入門 変数