私は統計とRに一般的なので、私の質問は少しダムかもしれないが、私は私のソリューションをオンラインで見つけることができないので、私はここでそれを試してみるべきだと思った。Rと数値変数とカテゴリ変数の回帰問題を解決する問題
私は次のように非常によく似て異なる変数の全体の多くのデータフレームdataset
を持っている:
Item | Size | Value | Town
----------------------------------
A | 10 | 800 | 1
B | 11 | 100 | 2
A | 17 | 900 | 2
D | 13 | 200 | 3
B | 15 | 500 | 1
C | 12 | 250 | 3
E | 14 | NA | 2
A | | 800 | 1
C | | 800 | 2
基本的に、私は試してみて、項目の種類に基づいてサイズを「推測」する必要があり、それはです価値、それが売却された町があるので、回帰法は良い考えだと思います。
私がしようとすると(私はそれが正しいかどうでもよく分からないが)それは次のような機能を使って、どのように見えるかを確認するために多項式回帰を使用します。
summary(lm(Size~ polym(factor(Item), Value, factor(Town), degree=2, raw=TRUE), dataset))
しかし、私はこれを取得私はこれを行うにしようとすると、警告メッセージ:これはなぜ起こるか
Error in lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) : 0 (non-NA) cases In addition: Warning message: In Ops.factor(X, Y, ...) : ‘^’ not meaningful for factors
誰も教えてもらえますか?もっと重要なことは、私がしたことは正しいことですか?
私の2番目の質問は回帰のNA
値に関するものです。上記のデータセットでは、Value
の列にNA
という値があります。私が理解しているところでは、Rは列内の値がNA
の行を無視します。しかし、私がNA
値をたくさん持っているとどうなりますか?また、列内に1つしか値がない場合は、行全体を自動的に削除することはデータの浪費のようですので、この問題を解決または回避するためのより良い方法があるかどうか疑問に思っていました。ありがとう!
編集:私が作成した回帰モデルでは、テストデータにはトレーニングデータに含まれていない新しい「レベル」があるようです(たとえば、エラーはfactor(Town) has new levels
と表示されます)。このような場合はどうすればよいでしょうか?
'polym'から要因を取り除いてください - 意味のない要因変数を二乗しようとしています。まず 'lm(Size〜factor(Item)+ factor(Town)+ Value、...)'を試し、必要に応じて 'Value'の二乗項を加えてください。 –
@RemkoDuursmaああ、ありがとう、私は今それを試してみる:) – badatstats