2017-03-12 13 views
3

モデルが実際のデータにどれほど適しているかを視覚化するために、新しいy予測(および信頼区間)を作成するために使用したいgamlssモデルがあります。元のデータではなく、ランダム化されたプレディクタ値の新しいデータセットから予測を行いたいのですが、エラーメッセージが表示されています。ここではいくつかのサンプルコードがあります:R gamlssオブジェクトから新しい適合値を予測する際のエラー

library(gamlss)  

# example data 
irr <- c(0,0,0,0,0,0.93,1.4,1.4,2.3,1.5) 
lite <- c(0,1,2,2.5) 
blck <- 1:8 
raw <- data.frame(
    css =abs(rnorm(500, mean=0.5, sd=0.1)), 
    nit =abs(rnorm(500, mean=0.72, sd=0.5)), 
    irr =sample(irr, 500, replace=TRUE), 
    lit =sample(lite, 500, replace=TRUE), 
    block =factor(sample(blck, 500, replace=TRUE)) 
) 

# the model 
mod <- gamlss(css~nit + irr + lit + random(block), 
     sigma.fo=~irr*nit + random(block), data=raw, family=BE) 

# new data (predictors) for making css predictions 
pred <- data.frame(
nit =abs(rnorm(500, mean=0.72, sd=0.5)), 
irr =sample(irr, 500, replace=TRUE), 
lit =sample(lite, 500, replace=TRUE), 
block =factor(sample(blck, 500, replace=TRUE)) 
) 

# make predictions 
predmu <- predict(mod, newdata=pred, what="mu", type="response") 

これは、次のエラーを与える:私は私の実際のデータでこれを実行すると

Error in data[match(names(newdata), names(data))] : 
    object of type 'closure' is not subsettable 

、それはこのわずかに異なるエラーを与える:

Error in `[.data.frame`(data, match(names(newdata), names(data))) : 
    undefined columns selected 

I predictnewdataなしで使用すると、次のように元のデータに対して予測が正しく行われます。

predmu <- predict(mod, what="mu", type="response") 

私は予測が間違っていますか?どんな提案も大歓迎です!ありがとうございました。

答えて

0

いいえ、あなたは間違っていません。私は同じ問題を経験しました。

ドキュメントは、予測の実装が不完全であることを示しています。これは不完全な特徴/機能の例であるように思われる。

+0

バマー!さて、検証と情報、@ヘッジホッグのおかげで!私はその後、このモデルをlmer()に移しました。しかし、これをうまく動かすことが大切です。 – BonnieM

関連する問題