Ich habe eine Liste Daten wie unten. Ich möchte Gauß-Kurve nicht-lineare Regression und zählt Einpassen zwischen mids für jedes Element meiner Liste und Bericht ausführen Mittelwert und Standardabweichungberechnen Gauss-Kurve passend auf einer Liste
mylist<- structure(list(A = structure(list(breaks = c(-10, -9,
-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4), counts = c(1L,
0L, 1L, 5L, 9L, 38L, 56L, 105L, 529L, 2858L, 17L, 2L, 0L, 2L),
density = c(0.000276014352746343, 0, 0.000276014352746343,
0.00138007176373171, 0.00248412917471709, 0.010488545404361,
0.0154568037537952, 0.028981507038366, 0.146011592602815,
0.788849020149048, 0.00469224399668783, 0.000552028705492686,
0, 0.000552028705492686), mids = c(-9.5, -8.5, -7.5, -6.5,
-5.5, -4.5, -3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5),
xname = "x", equidist = TRUE), .Names = c("breaks", "counts",
"density", "mids", "xname", "equidist"), class = "histogram"),
B = structure(list(breaks = c(-7, -6, -5,
-4, -3, -2, -1, 0), counts = c(2L, 0L, 6L, 2L, 2L, 1L, 3L
), density = c(0.125, 0, 0.375, 0.125, 0.125, 0.0625, 0.1875
), mids = c(-6.5, -5.5, -4.5, -3.5, -2.5, -1.5, -0.5), xname = "x",
equidist = TRUE), .Names = c("breaks", "counts", "density",
"mids", "xname", "equidist"), class = "histogram"), C = structure(list(
breaks = c(-7, -6, -5, -4, -3, -2, -1, 0, 1), counts = c(2L,
2L, 4L, 5L, 14L, 22L, 110L, 3L), density = c(0.,
0., 0.0246913580246914, 0.0308641975308642,
0.0864197530864197, 0.135802469135802, 0.679,
0.0185185185185185), mids = c(-6.5, -5.5, -4.5, -3.5,
-2.5, -1.5, -0.5, 0.5), xname = "x", equidist = TRUE), .Names = c("breaks",
"counts", "density", "mids", "xname", "equidist"), class = "histogram")), .Names = c("A",
"B", "C"))
Ich habe diese Fitting a density curve to a histogram in R aber dies ist, wie ein passen Kurve zu einem Histogramm. was ich will, ist das Best-Fit-Werte“
"Mean" "SD"
Wenn ich PRISM verwenden, es zu tun, sollte ich die folgenden Ergebnisse für A
Mids Counts
-9.5 1
-8.5 0
-7.5 1
-6.5 5
-5.5 9
-4.5 38
-3.5 56
-2.5 105
-1.5 529
-0.5 2858
0.5 17
1.5 2
2.5 0
3.5 2
Durchführung nichtlinearen erhalten Regression Gaußsche Kurvenanpassung, ich
"Best-fit values"
" Amplitude" 3537
" Mean" -0.751
" SD" 0.3842
für den zweiten Satz B
Mids Counts
-6.5 2
-5.5 0
-4.5 6
-3.5 2
-2.5 2
-1.5 1
-0.5 3
"Best-fit values"
" Amplitude" 7.672
" Mean" -4.2
" SD" 0.4275
und für die dritte
Mids Counts
-6.5 2
-5.5 2
-4.5 4
-3.5 5
-2.5 14
-1.5 22
-0.5 110
0.5 3
Ich erhalte diese
"Best-fit values"
" Amplitude" 120.7
" Mean" -0.6893
" SD" 0.4397
Wenn Sie nach dem geschätzten Mittelwert und der Standardabweichung/Varianz suchen, denke ich, dass dies durch ein Maximum-Likelihood-Verfahren erreicht werden kann. Es gibt die Funktion 'mle' in der Basis R sowie das Paket' maxLik'. In diesem Fall sollten Sie die Rohdaten anstelle von Mitten und Zählwerten verwenden. Das erste Beispiel in "mle" sollte analog zu dem sein, was Sie wollen. – lmo
Ich kann im Moment keine Videos sehen, aber werde es in ein paar Stunden sehen, wenn ich dazu in der Lage bin. Es scheint, dass das Schätzen von gebinnten Daten an nützlichen Informationen verliert. Dies ist besonders bedenklich angesichts der Tatsache, dass Sie eine so kleine Stichprobe haben: 16 denke ich. – lmo
@lmo Ok, nicht wirklich die Stichprobengröße ist viel viel höher wie 1000. so wäre kein Problem in diesem Fall denke ich – nik