Ich versuche, eine Kurve über (den Schwanz) folgende Daten zu passen:Kurvenanpassung in R mit nls
[1] 1 1 1 1 1 1 2 1 2 2 3 2 1 1 4 3 2 11 6 2 16 7 17 36 [25] 27 39 41 33 42 66 92 138 189 249 665 224 309 247 641 777 671 532 749 506 315 292 281 130 [49] 137 91 40 27 34 19 1
ich die folgende Funktion in R bin mit diesen zu erreichen:
nls(y~axexp(-b*x^2),start=list(a=1,b=1),trace=TRUE)
Allerdings bin ich die folgende Fehlermeldung erhalten:
3650202 : 1 1
Error in numericDeriv(form[[3L]], names(ind), env) : Missing value or an infinity produced when evaluating the model
Wenn die folgende Verwendung von künstlichen Werte für x und y, funktioniert alles ganz gut:
y=x*exp(-.5*x^2)+rnorm(length(x),0,0.1)
x [1] 0.00 0.05 0.10 0.15 0.20 0.25 0.30 0.35 0.40 0.45 0.50 0.55 0.60 0.65 0.70 0.75 0.80 0.85 0.90 [20] 0.95 1.00 1.05 1.10 1.15 1.20 1.25 1.30 1.35 1.40 1.45 1.50 1.55 1.60 1.65 1.70 1.75 1.80 1.85 [39] 1.90 1.95 2.00 2.05 2.10 2.15 2.20 2.25 2.30 2.35 2.40 2.45 2.50 2.55 2.60 2.65 2.70 2.75 2.80 [58] 2.85 2.90 2.95 3.00 3.05 3.10 3.15 3.20 3.25 3.30 3.35 3.40 3.45 3.50 3.55 3.60 3.65 3.70 3.75 [77] 3.80 3.85 3.90 3.95 4.00 4.05 4.10 4.15 4.20 4.25 4.30 4.35 4.40 4.45 4.50 4.55 4.60 4.65 4.70 [96] 4.75 4.80 4.85 4.90 4.95 5.00 y [1] -0.080214106 0.075247488 0.076355116 -0.020087646 0.181314038 0.075832658 0.248303254 [8] 0.364244010 0.453655908 0.347854869 0.514373164 0.384051249 0.618584696 0.515684390 [15] 0.534737770 0.609279111 0.618936091 0.534443863 0.739118585 0.677679546 0.526011452 [22] 0.645645150 0.578274968 0.589619834 0.476186241 0.621638333 0.601663144 0.535981735 [29] 0.518434367 0.581735107 0.423872948 0.445335110 0.340884242 0.317121065 0.342683141 [36] 0.278351104 0.402947372 0.429483276 0.276655872 0.108164828 0.389994138 0.372300257 [43] -0.057320612 0.131271986 0.226212869 0.131171973 0.245970674 0.009926555 0.173465207 [50] 0.141220590 0.280616078 0.108515613 0.117697407 0.130700771 0.058540888 0.251613512 [57] 0.168094899 -0.058382571 0.123306762 -0.048605186 -0.010131767 0.076701962 -0.051982924 [64] 0.058427540 0.144665070 0.063998841 -0.010495697 0.119868854 0.114447318 0.006759691 [71] 0.025041761 -0.178145771 0.041547126 0.122084819 0.034283141 0.209140060 0.197024853 [78] -0.005491966 -0.033260219 -0.028123314 -0.005775553 -0.040781462 0.090024896 0.116390743 [85] -0.017811031 0.094039200 -0.147064060 -0.057249278 0.211587898 -0.066153592 0.0332 [92] -0.092756136 -0.125906598 0.136937364 0.046453010 0.002000336 -0.134047101 0.089748847 [99] -0.019355567 -0.042158950 0.149594368
Kann jemand darauf hinweisen, was ich falsch mache? Danke für Ihre Hilfe.
Schwer zu sagen, weil Sie nur einen Vektor liefern ('x' oder' y'?). Wenn Sie Beispieldaten veröffentlichen, sehen Sie sich diese Frage an: http://stackoverflow.com/questions/1265129/how-to-export-the-definition-of-an-r-object-to-plain-text-so-that -others-can-recr – Marek
Marek: Der Vektor geschrieben ist
. Wie Sie aus dem Beispiel sehen können, sollte eine Sequenz von 0 bis Länge (y) sein. – Pieter