2016-04-13 11 views
0

rdsファイルからロードされたlmオブジェクトのエフェクト関数(​​パッケージエフェクトから)を呼び出そうとするときに問題が発生しました。私はファイルを保存する必要があります。なぜなら、いくつかのモデルをループで調整し、その後、モデルのいくつかのグラフを生成するためにモデルを取得するからです。ファンクション「エフェクト」がrdsファイルからロードされたモデルオブジェクト内のデータを見つけることができません

相続人は、問題の例である:

var1<-rnorm(100) 
var2<-rnorm(100) 
df1<-data.frame(var1,var2) 
lm1<-lm(var1~var2,data=df1) 
saveRDS(lm1,"lm1.RDS") 
rm(lm1,var1,var2,df1) 
loaded<-readRDS("lm1.RDS") 
library(effects) 
eff<-allEffects(loaded) 
+0

感謝再現可能な例については、 –

答えて

3

effects::allEffects機能は、これを実行しない理由を私は知らないが、それはモデルからデータを回復するために、かなり簡単です:

> df1 <- data.frame(var1 =loaded$model$var1, var2=loaded$model$var2) 
> eff<-allEffects(loaded) 
> eff 
model: var1 ~ var2 

var2 effect 
var2 
     -2   -1   0   1   2 
-0.08501500 -0.09133397 -0.09765294 -0.10397191 -0.11029088 
+0

編集と回答ありがとう!しかし、なぜ効果がallEffects関数がこのように振る舞うのかを誰かが説明できるかどうか疑問に思います... –

+0

'maintainer(" effects ")'の返事としてJohn Fox <[email protected]> 。彼は質問にとても敏感です。完璧な先生。私は彼を書くのをためらっていません。 –

関連する問題