2016-08-02 47 views
0

Ich habe 4 verschiedene data.frames, die Beobachtungen haben, die einer Binomialverteilung folgen, und ich muss für jedes die Konfidenzintervalle berechnen, die sich auf Mittelwerte einer zweiten Spalte beziehen (Flow) . Die Anzahl der Erfolge wird in der Spalte Success und total number of trials = 85 gemeldet.Binomiale Konfidenzintervalle von Mitteln mit R

Wie kann ich Konfidenzintervalle berechnen? Wie kann ich es mit R machen?

Hier ein Beispiel für meine data.frames:

df1 <- read.table(text = 'Flow Success 
725.661 4 
25.54  4 
318.481 4 
230.556 4 
2.823  3 
12.6  3 
9.891  3 
11.553 1', header = TRUE) 

> mean(df1$Flow) 
[1] 167.1381 


df2 <- read.table(text = 'Flow Success 
725.661 3 
25.54  3 
318.481 3 
230.556 2 
2.823  2 
12.6  1', header = TRUE) 

> mean(df2$Flow) 
[1] 219.2768 

df3 <- read.table(text = 'Flow Success 
725.661  2 
25.54  2 
318.481  1', header = TRUE) 

> mean(df3$Flow) 
[1] 356.5607 

df4 <- read.table(text = 'Flow Success 
725.661 2 
25.54  2', header = TRUE) 

> mean(df4$Flow) 
[1] 375.6005 

Ich brauche die Konfidenzintervalle der obigen Mittel zu berechnen.

Ich kann Ihnen mehr Informationen über die Daten bei Bedarf geben.

Danke für jeden, der mir helfen wird.

+2

Wie können Ihre Beobachtungen einer Binomialverteilung folgen, wenn keine ganze Zahl ist? – lmo

+0

Jede Beobachtung ist mit einer zweiten Spalte verbunden, die ganzzahlige Werte hat. danke für den Kommentar. –

+2

@ user6644063 Was meinst du "verbunden mit einer zweiten Spalte"? Wie viele Beobachtungen hast du? Die Art und Weise, wie Sie die Daten präsentiert haben, ist sehr verwirrend. –

Antwort

0

Das Paket binom enthält Methoden zum Berechnen binomischer Konfidenzintervalle. Man kann wählen, alle verfügbaren Methoden zu verwenden oder eine einzelne Methode anzugeben.

x gibt die Anzahl der Erfolge und n die Anzahl der Bernouli-Studien.

library(binom) 

binom.confint(x = 5, n = 10) 
      method x n mean  lower  upper 
1 agresti-coull 5 10 0.5 0.2365931 0.7634069 
2  asymptotic 5 10 0.5 0.1901025 0.8098975 
3   bayes 5 10 0.5 0.2235287 0.7764713 
4  cloglog 5 10 0.5 0.1836056 0.7531741 
5   exact 5 10 0.5 0.1870860 0.8129140 
6   logit 5 10 0.5 0.2245073 0.7754927 
7   probit 5 10 0.5 0.2186390 0.7813610 
8  profile 5 10 0.5 0.2176597 0.7823403 
9   lrt 5 10 0.5 0.2176212 0.7823788 
10  prop.test 5 10 0.5 0.2365931 0.7634069 
11  wilson 5 10 0.5 0.2365931 0.7634069 

binom.confint(x = 5, n = 10, method = "exact") 
    method x n mean lower upper 
1 exact 5 10 0.5 0.187086 0.812914 
+0

danke @ r.bot. Ich kenne das Binom-Paket bereits und nutze es. Aber denken Sie, dass es den besten Weg darstellt, CI für die Mittel zu berechnen? –

+0

Ich denke, dass es für Binomialdaten tut. Ich denke, Sie könnten ein Intercept-only-Glm einfügen und die Ausgabe potenzieren, aber das erscheint unnötig kompliziert. Ich verstehe nicht, wie Ihre Daten in dem Beispiel in Ihrer Frage strukturiert sind. Dein Kommentar zu Imo besagt, dass jede Beobachtung eine zweite Spalte hat - eine Ganzzahl. Es ist nicht klar, ob sich dies auf die Anzahl der Versuche oder Erfolge bezieht. Du brauchst immer noch beides. –

+0

Entschuldigung, bei meiner Frage nicht so klar zu sein, aber das muss ich noch gut verstehen (daher meine Frage). Die zweite Spalte bezieht sich auf die Anzahl der Erfolge. Sollte ich das CI berechnen, indem ich zuerst die zweite Spalte betrachte und später multipliziere oder addiere sie mit ihren relativen Mitteln (erhalten mit der ersten Spalte)? ... Ich werde meine Frage aktualisieren –