これ何て呼びますか

エクセルでダミー変数を含んだデータをつくりました。
例えば、以下のようにです。
ABCD
0013
0109
1002
0106
A、B、Cがダミー変数です。Dはそのまま普通に数値として読ませたいです。
これをCSVファイルにしてRにインポートしたんですが、
そのまま統計分析するとエラーが出てしまいます。
ABC列がダミー変数だと認識していないからじゃないかと思ってるんですが(違うかもしれません)どうすればダミー変数と認識してくれるでしょうか。
(「数値変数を因子に変換」かと思ったんですが、
ABCを変換したい変数に選択すると、統計量の分析で選択できる変数から消えてしまってDしか出てこないんですがどうなってるんでしょう・・・あと水準名と数値のどちらを選べばいいかもよくわかりません・・)
基本的な質問ですみません。誰か助けてください。。

A 回答 (2件)

No.1の方の回答にもありますが、もう少し説明が必要と思います。



おそらく、「Rコマンダーを利用していて、AからCの全てを説明変数にして統計量-モデルへの適合-線形回帰をしてみたら、一つの変数でNAが出てしまった」と思いますが……

ダミー変数の数はカテゴリー数-1、質問の例ですと2つあれば十分なので、余計な1つはNAになります。

> ABCを変換したい変数に選択すると、統計量の分析で選択できる変数から消えてしまってDしか出てこないんですがどうなってるんでしょう・・・

統計量-モデルへの適合-線形回帰は、因子が含められないようですね。
線形モデルなら因子を含められるようです。
(Rコマンダー(Version:1.4-10 Date:2009/04/26)で確認)
    • good
    • 0

実行例を載せてください。

そうでないと、あなたが何をやったのか、それに対してどういうエラーが出たのかも分からないでしょう?

とりあえず、インポートはできたとするなら:

> A <- c(0, 0, 1, 0)
> B <- c(0, 1, 0, 1)
> C <- c(1, 0, 0, 0)
> D <- c(3, 9, 2, 6)
> result1 <- lm(D ~ B + C)
> summary(result1)

とすればできるでしょう(私は手入力しましたが)。もっとも、Rではダミー変数を自分で用意する必要などなく:

> group <- c(3, 2, 1, 2)
> group <- as.factor(group)
> result2 <- lm(D ~ group)
> summary(result2)

とすれば、これは全く同じ結果が得られることが確認できるでしょう。

ちなみにですが、Rは別に「ダミー変数であると認識する」のではなく、numeric型として読み込まれます。

> class(A)
[1] "numeric"

> ABCを変換したい変数に選択すると、・・・

意味が分かりません(^_^;)
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!