verwendet I SigmaPlot verwenden, um eine modifizierte Version der Nikol'sky-Eisenman-Gleichung der Form FitfunktionR Anpassungsgleichung (Nikol'sky-Eisenman-Gleichung), um Daten
y = P1 + P2 * log(10^(-x) + P3)
unter Verwendung der globalen Kurve zu passen. Details zu den Parametern finden Sie im Sigmaplot-Bericht unten. Ich möchte dies in R. jetzt tun
Einige Daten:
pNO3 <- c(1.1203, 2.0410, 3.0155, 4.0048, 4.3045, 5.0, 6.0)
mV <- c(45.2, 100.9, 160.9, 215.7, 231.5, 244.5, 257.4)
data <- data.frame(pNO3, mV)
plot(data$pNO3, data$mV)
Die Grafik und Bericht von SigmaPlot für die obigen Daten erzeugt wird unten gezeigt. Kann mir jemand in die richtige Richtung zeigen, wie man etwas ähnliches in R erzeugt?
NonLinear Regression - Global Curve Fitting Wednesday, May 01, 2013, 13:04:55
Data Source: Data 1 in Notebook1
Equation: User-Defined, Nicolsky Eisenman
f=P1+P2*log(10^(-x)+P3)
Data Set Specifications:
Data Set Independent Variable Dependent Variable
1 Column 3 Column 7
Global Parameters:
A Global Parameter is shared across all data sets.
Global Goodness of Fit:
R Rsqr Adj Rsqr Standard Error of Estimate
0.9997 0.9994 0.9991 2.4421
Analysis of Variance:
Analysis of Variance:
DF SS MS
Regression 3 264242.5551 88080.8517
Residual 4 23.8549 5.9637
Total 7 264266.4100 37752.3443
Corrected for the mean of the observations:
DF SS MS F P
Regression 2 38844.3822 19422.1911 3256.7192 <0.0001
Residual 4 23.8549 5.9637
Total 6 38868.2371 6478.0395
Statistical Tests:
Normality Test (Shapiro-Wilk) Passed (P = 0.4003)
W Statistic= 0.9106 Significance Level = 0.0500
Constant Variance Test Passed (P = 0.1209)
Number of Observations = 7
Rsqr = 0.9994
Residual Sum of Squares = 23.8549
Parameter Estimates:
Coefficient Std. Error t P
P1 -24.3265 3.3330 -7.2987 0.0019
P2 -61.7088 1.2861 -47.9796 <0.0001
P3 2.8351E-005 4.6040E-006 6.1579 0.0035
Fit Equation Description:
[Variables]
f0_x = col(3)
f0_y = col(7)
[Parameters]
f0_P1 = 0 ' {{previous: -24.3265}}
f0_P2 = -5 ' {{previous: -61.7088}}
f0_P3 = 0 ' {{previous: 2.8351e-005}}
[Equation]
f0 = f0_P1+f0_P2*log(10^(-f0_x)+f0_P3)
fit f0 to f0_y
[Constraints]
[Options]
tolerance=0.000100
stepsize=100
iterations=100
Number of Iterations Performed = 4
danke - werde morgen ein genaues Bild haben, aber der erste Blick deutet darauf hin, dass es nicht ganz so ist was ich brauche, aber es gibt mir einen Platz, um anzufangen.Sigma Plot passte eine glatte Kurve und die Parameter sind sehr unterschiedlich von dem, was ich von diesen Daten erwarten würde. –
Ich habe auch die Frage bearbeitet, so dass die Daten den Sigmaplot-Analysen entsprechen, um direkten Vergleich zu erleichtern. –
Ich vermute "log" ist Log-Base 10 hier ... – Spacedman