6
मेरे पास निम्न कोड है optim() का उपयोग कर beta0 और beta1 को खोजने के लिए विचलन का योग कम से कम, लेकिन मैं निम्नलिखित त्रुटियाँ प्राप्त कर रहा मैं मैं गलत क्या कर रहा हूँ यकीन नहीं है:'विरोधाभास <-` (`* tmp *`, value = contr.funs [1 + isOF [nn]] में त्रुटि): विरोधाभास केवल 2 या अधिक स्तर वाले कारकों पर लागू किया जा सकता है
sum.abs.dev<-function(beta=c(beta0,beta1),a,b)
{
total<-0
n<-length(b)
for (i in 1:n)
{
total <- total + (b[i]-beta[1]-beta[2]*a[i])
}
return(total)
}
tlad <- function(y = "farm", x = "land", data="FarmLandArea.csv")
{
dat <- read.csv(data)
#fit<-lm(dat$farm~dat$land)
fit<-lm(y~x,data=dat)
beta.out=optim(fit$coefficients,sum.abs.dev)
return(beta.out)
}
यहाँ त्रुटि है और चेतावनियां प्राप्त कर रहे हैं:
Error in `contrasts<-`(`*tmp*`, value = contr.funs[1 + isOF[nn]]) :
contrasts can be applied only to factors with 2 or more levels In addition: Warning message:
In model.response(mf, "numeric") : NAs introduced by coercion
'tlad' में डिफ़ॉल्ट तर्क निकालें और जब आप फ़ंक्शन को कॉल करें तो उद्धरण चिह्नों के बिना चर निर्दिष्ट करें। आपके 'एलएम' कॉल में निर्दिष्ट 'डेटा' के बजाय आपके पास 'डेटा 'भी है। – Thomas
आप 'tlad <करने के लिए इसे बदलने मतलब - समारोह (y = खेत, एक्स = भूमि, डेटा =" FarmLandArea.csv ") { Dat <- read.csv (डेटा) #fit <-lm (डीएटी $ फार्म ~ डेट $ भूमि) फिट <-lm (y ~ x, data = dat) beta.out = optim (फिट $ coefficients, sum.abs.dev) वापसी (beta.out) } '? –
जिसके साथ मुझे यह प्राप्त हो रहा है? '> Tlad (खेत, भूमि, डेटा =" FarmLandArea.csv ") दिखाएँ Traceback डीबग साथ को पुन: चलाएं eval में त्रुटि (expr, माहौल, enclos): ऑब्जेक्ट 'खेत' नहीं मिला' –