はじめの第一歩

データの代入

2021年2月10日

概要

  • 代入とは何か紹介
  • 代入はデータに名前をつけて保存するイメージ
  • 基本的には処理した結果は代入しておく方が良い

概要

データ解析に必須である変数へのデータの代入について紹介したいと思います。代入はRなどのプログラミング言語では必須の考え方なので、ぜひ理解してください。

代入(assign)とは

イメージ

まずは代入のイメージから紹介します。代入はデータに名前を付けて保存しておくようなイメージです。これは数学の代入と同じようなイメージで、データに名前を付けて定義しておきます。代入しておくことで、あとからそのデータに対して操作を加えることが可能になります。

イメージとしては下の図のような感じです。Aにデータを代入すると、Aという名前の、Rの中でだけ使えるファイルが新しく作成されるようなイメージです。

メリット

代入をするメリットは一度作成した値を他の場面で再利用できる点にあります。Excelではファイルを開くと、どのセルでも自由にクリックして編集できますが、Rでは基本的にはそのようにクリックして編集をすることはできないため、編集したいデータは代入して、R側が認識できる名前をつけておくことが一般的です。代入をしなくてもパイプ演算子をうまく繋げて解析を進めることもできますが、基本的にRの中でデータに操作を行うときは代入をしておくことになります。

例えば、ExcelのデータをRに読み込んで、そのデータを編集し、編集した結果を統計解析し、さらにグラフを作成するという流れの作業を実施したい場合、それぞれの工程で異なる名前を付けて処理結果を代入し、解析を進めていくことが一般的です。こうすることで後で特定の工程をやり直したい時に一番最初からすべての処理をやり直す必要がなくなります。

代入する方法

具体的に値を変数に代入する方法を紹介します。基本的には2つの方法があります。

  • 「<-」(「=」)を使う方法
  • 「assign」関数を使う方法

特に制限が無い場合は「<-」を使うのが一般的です。なので「assign」は覚えていなくても正直あまり困りません。

「<-」を使う方法

一般的に使われるのは「<-」を使う方法です。使い方は簡単で「代入したい値を矢印の根元」にし、「代入する先を矢印の先」にするだけです。

具体例として 1から10までの数字をdataの名付けて代入する場合を紹介します。この操作を実行するコードは以下の通りです。

# 1から10までの値をdata に代入する (この行はコメントなので操作には関係ありません。)
data <- 1:10

「assign」関数を使う方法

あまり使われることは無いのですが、「assign」関数で代入することもできます。

先ほどと同じく1から10までの数字を今度は assign 関数を使って実行する場合を紹介します。コードは以下の通りです。

# 1から10までの値を data に代入する(この行はコメントなので操作には関係ありません。)
assign("data", 1:10)

assign 関数の使いどころは、繰り返し文の中や、自作関数の中などです。繰り返し処理の中で、代入する名前を変えながら代入していったり、自作関数の処理結果をグローバル環境に保存するときなどに利用できます。これらの処理は少し発展的な内容なので他の記事で紹介したいと思います。

-はじめの第一歩