IF関数だけで、ダミー変数(0-1変数化)に一括変換!DL有

IF関数だけで、ダミー変数(0-1変数化)に一括変換!DL有

データ分析を行う際、カテゴリカル変数を数値化する必要がしばしばあります。

その一つの方法が、ダミー変数(0-1変数化)です。

このダミーコード化により、数値計算が可能になり、
データ分析や機械学習のアルゴリズムに適用できるようになります。

しかし、Excelでこの変換を行う方法は一見すると難しそうですよね。

なんと、IF関数で可能なのです

しかも、一括でダミーコード化する方法をお伝えします。

一括でダミー変数を作成する方法

例示

以下のサンプルデータを使って説明します。

まず、空白セルのないサンプルデータです。

空白セルのあるデータの場合は、ひと手間あります。

空白セルがあると、IF関数は0を返す」というExcel固有の問題があるためです。

そちらに関しても、後日取り上げる予定です。

カテゴリカル変数のダミー変数化


解答

IF関数だけで、ダミーコード化(0-1変数化)に一括変換!DL可

このデータをダミーコード化するためには、ExcelのIF関数を使います。

例えば、「部署」の列をダミーコード化する場合、以下のような式を使います。

E2セルに以下の関数式を入力し、列方向にコピーすると、
各部署のデータが、一括でダミー変数が作成されます。

=IF($C2=E$1, 1, 0)

この関数式は、

C2セル(従業員の部署)がE1セル(部署名)と一致する場合は1を、そうでない場合は0を返す」

というものです。

これにより、各部署ごとに新しい列が作成され、

その部署の従業員は1、
それ以外は0と表示されます。

E1~G1セルに予め項目名(部署名)を入力しておくことがポイントです。
(こちらの入力も自動化することもできますが、割愛します)

相対参照を設定し、関数式をコピーすることによって、
項目ごとにIF式を構築する手間が省かれています。

項目ごとにIF式を構築する方法、別解で紹介します。

別解

別解としては、以下もあります。


E2セルに以下の関数式を入力し、行方向にコピーする

=IF($C2=“営業”, 1, 0)

F2セルに以下の関数式を入力し、行方向にコピーする

=IF($C2=“マーケティング”, 1, 0)

G2セルに以下の関数式を入力し、行方向にコピーする

=IF($C2=“エンジニアリング”, 1, 0)

一括変換しない方法に関して

=IF($C2=”営業”,1,0)
=IF($C2=”マーケティング”,1,0)
=IF($C2=”エンジニアリング”,1,0)

=IF($C2=E$1,1,0)

項目ごとに、式を作成するパターンです。

項目名が多いと、大変ですね。

1つ目の解答の =IF($C2=E$1,1,0)の方がシンプルで、

エラーが少なく、一括でダミー変数が作成できます

解答付きサンプルデータ

解答付きサンプルデータが欲しい方は、下記からダウンロードしてください。

フォローアップ

ダブルクォーテーション

文字列は、半角のダブルクォーテーション(“)で囲みます。

なので、

”スポーツ”と”スポーツ以外”となっているわけです。

最後に

カテゴリカル変数をダミー変数(0-1変数化)を作成する方法を学びました。

カテゴリカル変数をダミー変数化すると、数値計算が可能になり、
データ分析や機械学習のアルゴリズムに適用できるようになります。

IF関数、たった一つで、実現できました。

これは、データ分析の幅を広げる大きな一歩となります。

空白セルのあるデータの場合は、ひと手間あります。


「空白セルがあると、IF関数は0を返す」というExcel固有の問題があるためです。


そちらに関しても、後日取り上げる予定です。

—————————————
参考記事
—————————————

原理原則に関する記事

Excel関数自体の原理原則に関する記事です。こちらを参照すると、個別の関数の理解がさらに深まるでしょう。

構文に関する記事

Excel関数の引数と戻り値は何だっけ?という時に、役立つ記事です。

Excel関数にはそれぞれ構文がある

Excel関数には構文があります。それが、引数と戻り値です。構文に沿えばいいだけです。言わば、数学の公式のようなものです。理論を知らなくても、公式に当てはめれば答え…

Excel関数の引数とは

Excelの引数は、料理を完成させるための材料のようなものです。しかも、材料に種類があります。その種類を理解すると、Excel関数を上手く使いこなせるようになります。

ダイアログボックスの使い方に関する記事

Excel関数名は何だっけ?VLOOKUP関数の使い方は何だっけ?という時に、ダイアログボックスを使うと便利です。
下記はそのダイアログボックスに関する記事です。

Excelの検索ダイアログから、関数を探す

Excelの検索ダイアログに使えば、目的の関数を発見しやすくなります。WEB検索する前に、Excel関数の検索ダイアログを使ってみましょう。

Excelのダイアログに沿って、関数を使う

Excelのダイアログに使えば、関数の使い方を調べることができます。言わば、関数のガイドラインのようなものです。

参照形式に関する記事

関数式をコピーする時はどうしたらいい?
$マークは、どう付けたらいいだろう?
といった悩みをお持ちの方は以下をご覧ください。

絶対参照/相対参照/複合参照とは

絶対参照/相対参照/複合参照とは何かをどこよりも分かりやすく解説します。

絶対参照/相対参照/複合参照の使い方

「絶対参照」「相対参照」「複合参照」は、どうやって使うのかを紹介します。 ポイントは、「$マークは、直後にあるモノを固定する」です。