Ich versuche, ein nichtlineares Modell mit fast 50 Variablen anzupassen (da es Jahr feste Effekte gibt). Das Problem ist, ich so viele Variablen, die ich nicht die komplette Formel aufschreiben kann wieNichtlineares Modell mit vielen unabhängigen Variablen (feste Effekte) in R
nl_exp = as.formula(y ~ t1*year.matrix[,1] + t2*year.matrix[,2]
+... +t45*year.matirx[,45] + g*(x^d))
nl_model = gnls(nl_exp, start=list(t=0.5, g=0.01, d=0.1))
wo y
ist die binäre Antwortvariable, year.matirx
ist eine Matrix von 45 Spalten (was 45 verschiedene Jahre) und x
ist die unabhängige Variable. Die zu schätzenden Parameter sind t1, t2, ..., t45, g, d
.
Ich habe gute Startwerte für t1, ..., t45, g, d
. Aber ich möchte keine lange Formel für diese nichtlineare Regression schreiben.
Ich weiß, dass, wenn das Modell linear ist, kann der Ausdruck
l_model = lm(y ~ factor(year) + ...)
- I
factor(year)
ingnls
Funktion versucht, mit vereinfacht werden, aber es funktioniert nicht. Außerdem habe ich auch versucht,
nl_exp2 = as.formula(y ~ t*year.matrix + g*(x^d))
nl_model2 = gnls(nl_exp2, start=list(t=rep(0.2, 45), g=0.01, d=0.1))
Es kehrt auch mir Fehlermeldung.
Gibt es also eine einfache Möglichkeit, die nichtlineare Formel und die Startwerte in R
aufzuschreiben?
Es wäre einfacher zu helfen, wenn Sie ein Beispiel [Beispiel für reproduzierbare Beispiele] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) mit Beispieleingabedaten bereitstellen so können wir den Code tatsächlich ausführen und mögliche Lösungen testen. – MrFlick