R

経緯

Rのglm関数を用いて重回帰分析を行う際には、カテゴリカルデータを自動的にダミー変数に変換してくれるため、あまり苦労しません。

現在、個人的にRStanを勉強中であり、同じ解析を行うためには自分でダミー変数を作成する必要があります。さらにカテゴリカルデータと数値データが混在しているとそれだけで非常に大変です。

caretパッケージやDummiesパッケージでダミー変数に変換できますが、重回帰分析を行う場合には基準となるカテゴリーを示すダミー変数は必要ありません。そのため手動で列を削除することになります。

そのため、望み通りの結果が得られるようにR関数を自作しました。

(2017-01-03追記) makedummiesパッケージがCRANに登録されました。

web情報

インストール

install.packages("makedummies")

makedummies関数の特徴

データはデータフレーム形式で渡します。

特徴は以下の点です。

  1. 元データの種類を自動で判別
    • カテゴリカルデータ(factorおよびordered)の場合にはダミー変数に変換
    • 数値データの場合にはそのまま出力
  2. 元データが複数の列からなっている場合にも一度にダミー変数に変換可能
  3. 基準となるカテゴリーを削除できるように設定
    • basal_level引数が FALSE => 基準となるカテゴリーを削除する(デフォルト)
    • basal_level引数が TRUE => 基準となるカテゴリーを削除しない
  4. colオプションで列を選択可能(NULLならば全ての列)
  5. numericalオプションでfactor/orderedをnumericに変更
  6. as.isオプションでダミー変数に変換しない列を指定

使用例

GitHubにある例 を参考にして下さい。


トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-01-03 (火) 10:51:06 (2272d)