2011-09-17 3 views
2

- 私た問題RMSパッケージのANOVA機能付きRCS()条件に問題がanova.rms:

require(rms) 
getHdata(prostate) 

mod1<-cph(Surv(dtime,status!="Alive")~stage+rx+age+wt,data=prostate,x=T,y=T) 
mod2<-cph(Surv(dtime,status!="Alive")~stage+rx+rcs(age,4)+wt,data=prostate,x=T,y=T) 
anova(mod1) 
anova(mod2) 

無事に動作しますが、-everything私はの影響のためのモデルを比較しようとすると、私が手

anova(mod1,mod2) 

年齢上の非直線性

Error in anova.rms(mod1, mod2) : factor names not in design: mod2 

これは何を意味するのでしょうか?それを回避するために私は何ができますか?

// M

答えて

1

あなたは意義を評価するための一つの方法として、ANOVA(MOD2)の出力を使用することができるはずですが、最良の答えは-2 *ログ(見込み)の統計情報を比較することであろう。 anova.rms関数は、2つのモデル適合を取るようには設計されていません。 2番目以降の無名引数は、オブジェクトにフィットするのではなく、モデル内の用語の名前と見なされます。

(完全なモデルのカイ二乗値と個々の用語の合計が一致しないことに注意してください。私はこれについてHarrellに尋ねており、モデル間の比較を手作業で行うと言います)。

+0

anovaのものをクリアするThx。しかし、rmsにもlrtest --lrtest(mod1、mod2)があります。これは私に欲しいものを与えてくれます。 – Misha

+1

あなたはそれを書いて、あなたに小切手を渡すべきです。 –

0

この比較はlrtest(Mishaのコメントごとに)を使用して行われます。