カテゴリカルデータからダミー変数を作成するR関数を自作(複数列対応可)(その後)

追記(2017.1.3)

makedummiesパッケージがCRANに登録されました。ブログの このページ を参照して下さい。

内容

以前、 このページ でカテゴリカルデータからダミー変数を作成するR関数を紹介しました。

このブログ自体それほどアクセスがあるわけではありませんが、検索される際のキーワードとして「R ダミー変数」が最も多かったです。

そこでこの関数をGitHubで公開しました(https://github.com/toshi-ara/makedummies)。

Rからは

## install.packages("devtools") # パッケージをインストールしていない場合
library(devtools)
install_github("toshi-ara/makedummies")

でインストールできます。

使用方法はGitHubの例を参照して下さい。

2件のコメント

  1. 荒先生
    こんにちは、先日松本ソフト開発センターのRセミナーでお世話になりました酒井です。
    その時にご紹介いただきましたダミー変数に変換するパッケージを早速使ってみました。
    数量化Ⅰ類などをやる時にはとても便利ですね。

    さて、一つ質問があります。

    > str(Dataset)
    ‘data.frame’: 199 obs. of 8 variables:
    $ 部門 : Factor w/ 2 levels “1課”,”2課”: 1 1 1 1 1 1 1 1 1 1 …
    $ 社員番号: Factor w/ 199 levels “ID-101269″,”ID-101368”,..: 64 88 166 80 151 104 37 …
    $ 性別 : Factor w/ 2 levels “女”,”男”: 2 2 1 1 1 2 1 1 2 2 …
    $ 雇用形態: Factor w/ 3 levels “パ―ト”,”社員”,..: 2 2 3 3 3 2 3 3 2 2 …
    $ 役職 : Factor w/ 9 levels “チ―フ”,”ヘッドチ―フ”,..: 4 7 4 9 9 7 9 9 4 9 …
    $ 年齢 : int 49 39 61 37 34 36 24 47 46 25 …
    $ 勤続 : int 25 17 19 12 0 13 1 10 23 3 …
    $ 年収 : int 9426000 5942000 5699000 32520000 4636000 10431000 3299000 …

    このようなデータの場合に、社員番号は変換したくないという場合はどうしたらいいでしょうか?
    > DAT = makedummies(Dataset,basal_level = TRUE ,numeric = “社員番号”)
    とすると、ダミー変数に変換はされませんが、数値データになってしまいます。

    また、変換したい変数を任意に選択するようなオプションはありませんでしょうか?
    例えば、性別と雇用形態だけを変換したいような場合です。

  2. 酒井先生

    ご無沙汰しております。
    その節はお世話になりました。

    2つ目の質問はcolオプションで対応できるはずです。
    1つ目の質問は現時点では対応していないため、変換後のデータを元のデータで上書きすれば大丈夫です。
    DAT$社員番号 <- Dataset$社員番号 本当はas.isオプションのようなものを追加すればいいのですが。 何かありましたらまた連絡して下さい。 それでは失礼します。 荒 敏昭

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です