0
我正在試圖建立一個如the manual for gmn in R中所述的非線性模型。該模型的期望形式是`R.gnm`中的自定義非線性函數
y = b0*x0^g0 + b1*x1^g1 + ...
這似乎是非線性模型對我的最簡單的可能形式,但出於某種原因(和請糾正我,如果我錯了!)我必須寫自定義非線性函數以適應R.非常好!
df=read.csv("d:/mydataframe.csv")
require(gnm)
mypower = function(x){
list(predictors = list(beta=1,gamma=1),
variables = list(substitute(x)),
term = function(predlabels,varlabels) {
paste(predlabels[1],"*(",varlabels[1],"**",predlabels[2],")")
}
)
}
class(mypower) <- "nonlin"
現在,當我嘗試
fit <- gnm(formula=y ~ mypower(x1), data=df)
我從模型β和γ的擬合值。但是,當我嘗試
fit <- gnm(formula=y ~ mypower(x1)+mypower(x2), data=df)
我得到的錯誤
Algorithm failed - no model could be estimated.
所以,問題1:我怎麼能解決這個問題?
此外,當 - 試圖以匹配所有XS - 我嘗試
fit <- gnm(formula=PedalCycles ~ mypower(.), data=df)
我得到
Error in eval(expr, envir, enclos) : object '.' not found
這是指定每個冪所有XS的和正確的方式?