आइए इस काल्पनिक डेटासेट पर विचार करें:
set.seed(12345)
num.subjects <- 10
dose <- rep(c(1,10,50,100), num.subjects)
subject <- rep(1:num.subjects, each=4)
group <- rep(1:2, each=num.subjects/2*4)
response <- dose*dose/10 * group + rnorm(length(dose), 50, 30)
df <- data.frame(dose=dose, response=response,
subject=subject, group=group)
हम lme
एक यादृच्छिक प्रभाव मॉडल के साथ प्रतिक्रिया को मॉडल करने के लिए उपयोग कर सकते हैं :
require(nlme)
model <- lme(response ~ dose + group + dose*group,
random = ~1|subject, df)
predict
उदाहरण के लिए, इस मॉडल के परिणाम पर मैं इसका उपयोग करना चाहूंगा , समूह 1 के सामान्य विषय की खुराक की खुराक के लिए:
pred <- predict(model, newdata=list(dose=10, group=1))
हालाँकि, इस कोड से मुझे निम्नलिखित त्रुटि मिलती है:
Error in predict.lme(model, newdata = list(dose = 10, group = 1)) :
cannot evaluate groups for desired levels on 'newdata'
उदाहरण के लिए, मुझे इससे छुटकारा पाने की जरूरत है
pred <- predict(model, newdata=list(dose=10, group=1, subject=5))
हालांकि, यह वास्तव में मेरे लिए बहुत मायने नहीं रखता है ... विषय मेरे मॉडल में एक उपद्रव कारक है, इसलिए इसे किस अर्थ में शामिल करना है predict
? यदि मैं कोई विषय संख्या डेटासेट में मौजूद नहीं रखता हूं, तो मैं predict
लौट आता हूं NA
।
क्या इस predict
स्थिति के लिए यह वांछित व्यवहार है? क्या मुझे कुछ स्पष्ट याद आ रहा है?
model
यह मान लेता है कि आपका माध्य (विशेष रूप से इसलिए यह उपद्रव मानदंड के लिए कुछ मूल्यों की अपेक्षा करेगा ऐसी स्थितियाँ हैं जो आपके मूल्यांकन बिंदु को ग्रहण करने के लिए भी समझ में नहीं आती हैं, यह पदानुक्रम-मुक्त (इसलिए कोई ) नहीं है। यही कारण है कि फिट () आपको पहले स्थान पर "उपद्रव के साथ" परिणाम देता है। (और वास्तव में मैं नहीं। लगता है कि यह उपद्रव है, बल्कि एक अतिरिक्त जानकारी है, लेकिन ठीक है ...)