2012-03-13 15 views
-1

lm関数がデータ値として0を持つカラムで正しく機能するようには見えません。ここに私のコードです:Rリニアモデルでは0の値を処理できません

project.lm = lm(SalePrice ~Lot.Area + Year.Built + Year.Remod.Add + Gr.Liv.Area + 
       Yr.Sold + Bsmt.Unf.SF, project.table) 

しかし、私はproject.lmの要約を行うとき、私はBsmt.Unf.SFの各値に対して、実際に、私の線形モデルで文字通り一つの変数を変数の数千を取得します。これは、値が0のすべての列に対して発生します。そうでなければ、すべて正常に動作します。何か案は?!?

+4

変数は数値としてではなく、文字や要素として格納される可能性があります。 'str(project.table)'を実行して確認してください。問題は 'lm'ではなく、データのインポートに使用したコードにあります。 – joran

+0

ああ、それはまさにそれです!私はどうやって違う方法でそれを読むのですか?私は単純にproject.table = read.csv(url、header = T)を – user983567

+2

に依存しています。 Rはデータ型を正しく取得しようとしますが、データファイルがきれいであるかどうかによって異なります。数値列に文字が含まれていないことを確認してください。事後のカラムをdat $ newcol < - as.numeric(as.character(dat $ oldcol))のように変換することができます –

答えて

0

read.csvread.tableのドキュメントを参照してください:デフォルトではTRUEのstringsAsFactorsという引数があります。 FALSEに設定すると、もっと幸せになるかもしれません:-)

+0

しかし、lmに渡す前に文字列を量子化する必要があります。 – smci

関連する問題