2017-05-02 12 views
0

私はデータセットを作成しており、いくつかの変数を使用して段階的ロジスティック回帰を行いたいので、Rでadd1()私はそれによって、使用してロジスティック回帰をフィットhttps://drive.google.com/file/d/0B0N-Nc7kEi4bVjhDd1FDaEE5cEE/view?usp=sharing上部スコープは、モデルに含まれていない用語 'NA'を持っています

train <- read.csv('training.csv') 
glm.model_step_1 <- glm(loan_status ~ acc_open_past_24mths + annual_inc + avg_cur_bal + bc_open_to_buy + delinq_2yrs + dti + inq_last_6mths + installment + int_rate + mo_sin_old_il_acct + mo_sin_old_rev_tl_op + mo_sin_rcnt_rev_tl_op + mo_sin_rcnt_tl + mort_acc + mths_since_last_delinq + mths_since_recent_bc + mths_since_recent_inq + num_accts_ever_120_pd + num_actv_bc_tl + num_actv_rev_tl + num_bc_tl + num_il_tl + num_op_rev_tl + num_tl_op_past_12m + pct_tl_nvr_dlq + percent_bc_gt_75 + pub_rec_bankruptcies + revol_bal + revol_util + term + total_acc + total_bc_limit + total_il_high_credit_limit + fico_mean + addr_state + emp_length + verification_status + Count_NA + Info_missing + Engineer + Teacher + Doctor + Professor + Manager + Director + Analyst + senior + lead + consultant + home_ownership_own + home_ownership_rent + purpose_debt_consolidation + purpose_medical + purpose_credit_card + purpose_other, 
        data = train, 
        family = binomial(link = 'logit')) 

をそして、前方の選択を行うためにadd1()機能を使用してデータセットのこちらのリンクからダウンロードすることができます。

add1(glm.model_step_1, scope = train) 

このコードは機能しません。

Error in factor.scope(attr(terms1, "factors"), list(add = attr(terms2, : upper scope has term ‘NA’ not included in model

誰もがこのエラーを解決する方法を知っています:私は以下のエラーを取得しますか?

datascience.stackexchange(https://datascience.stackexchange.com/questions/11604/checking-regression-coefficients-stability)に以前に質問されたNAAのチェックに関する質問。そこ任意のNASは、データ・セットではなく、それは@Jashサッシのtrainデータセットは、多くのカテゴリを持つ要因として、いくつかの数値の変数を読み取ることread.csvを強制され内部で何らかの異常値を持つsapply(train, function(x) sum(is.na(x))

答えて

1

を実行することで確認することができます。
とにかく、ここでは、上記のエラーメッセージを回避する方法を示すために、いくつかの変数しかないモデルを考えます。
引数がの式であることを覚えておいてください。 "という用語を追加または削除することを検討してください。 @Jash Sashのコードのようにdata.frameにすることはできません。

train <- read.csv('training.csv') 
numeric <- apply(train,2,is.factor) 

glm.model_step_1 <- glm(loan_status ~ acc_open_past_24mths + avg_cur_bal + bc_open_to_buy, 
        data = na.omit(train), 
        family = binomial(link = 'logit')) 

add1(glm.model_step_1, scope=~.+delinq_2yrs+inq_last_6mths+int_rate) 

結果は次のとおりです。

Model: 
loan_status ~ acc_open_past_24mths + avg_cur_bal + bc_open_to_buy 
       Df Deviance AIC 
<none>    1038.6 1046.6 
delinq_2yrs  1 1037.9 1047.9 
inq_last_6mths 1 1038.0 1048.0 
int_rate  1 1038.0 1048.0 
+0

これが働いていました。ありがとうございました! 'add1()'のスコープ引数もまたデータフレームを取ることができます。説明するには、次のコードを実行してください: 'data(" mtcars ");lm1 < - lm(mpg〜cyl + disp、data = mtcars); add1(lm1、scope = mtcars) ' しかし、どういうわけか私のケースではデータフレームを引数として渡すことができません。 –

関連する問題