2017-03-12 10 views
3

모델이 실제 데이터에 얼마나 잘 맞는지 시각화하기 위해 새로운 y 예측 (및 신뢰 구간)을 만드는 데 사용하려는 gamlss 모델이 있습니다. 원래 데이터가 아닌 임의의 예측 변수 값을 사용하여 새로운 데이터 세트를 예측하고 싶지만 오류 메시지가 표시됩니다.R gamlss 객체의 새로운 맞춤 값을 예측할 때 오류가 발생했습니다.

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

I을 :

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

나는이 내 실제 데이터에서 실행, 그것은이 약간 다른 오류를 제공합니다

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") 

이 다음과 같은 오류를 제공합니다 : 여기에 몇 가지 예제 코드는 predictnewdata없이 사용하면 다음과 같이 원래 데이터에 대한 예측이 잘 수행됩니다.

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

내가 잘못 예측하고 있습니까? 어떤 제안이라도 대단히 감사합니다! 고맙습니다.

답변

0

아니요, 틀리지 않습니다. 나는 같은 문제를 경험했다.

문서는 예측의 구현이 불완전하다는 것을 나타냅니다. 이것은 불완전한 특징/기능의 예입니다.

+0

버머! 확인 및 정보, @Hedgehog 주셔서 감사합니다! 이후이 모델을 lmer()로 옮겼습니다. 그러나이 문제를 해결하려면 도움이 될 것입니다. – BonnieM