2013-03-13 12 views
6

Also versuche ich, wie nahe die Probengröße Berechnungen (für zwei Proben unabhängige Proportionen mit ungleichen Probengrößen) sind zwischen proc Leistung in SAS und einigen Probengrößen Funktionen in r zu sehen. Ich verwende die hier at a UCLA website.Probengröße und Leistungsberechnung in r als brauchbare Alternative Energie in SAS proc?

Die UCLA-Website gefundenen Daten gibt Parameter wie folgt:

p1 = 0,3, p2 = .15, Leistung = 0,8, null Differenz = 0, und für die zweiseitige testet, dass es gleiche Stichprobengrößen annimmt;

für die ungleiche Stichprobengröße prüft die Parameter die gleichen sind, mit Gruppengewichte von 1 für die Gruppe 1 und 2 für die Gruppe 2 sind, und die Tests, die sie durchführen, sind einseitig.

Ich bin mit der r Funktion

pwr.t.test(n=NULL,d=0,sig.level=0.05,type="two.sample",alternative="two.sided") 

vom pwr Paket.

Also, wenn ich Eingabe der Parameterauswahl als Standort UCLA hat für ihr erstes Beispiel habe ich die folgende Fehlermeldung erhalten:

Error in uniroot(function(n) eval(p.body) - power, c(2, 1e+07)) : 
    f() values at end points not of opposite sign. 

Dies scheint zu sein, da die Differenz von r nicht nachweisbar ist. Ich setzte d = .5 und es lief. Würde SAS Fehler auch für zu kleine Differenz geben? Es ist nicht in dem Beispiel, da ihre Nulldifferenz auch Null ist.

ich oben auch den Fehler, wenn

pwr.2p.test(h = 0, n = , sig.level =.05, power = .8) 

und

mit
pwr.chisq.test(w =0, N = , df =1 , sig.level =.05, power =.8). 

ich etwas schrecklich falsch tun kann, aber ich kann nicht einen Weg zu finden, wenn die Hypothese aufgestellt, Differenz 0 bis wirklich scheinen ist .

ich verstehe, dass SAS und r für die Berechnung der Leistung unterschiedliche Methoden verwenden, so erwarte ich, soll nicht das gleiche Ergebnis zu erhalten. Ich versuche wirklich nur zu sehen, ob ich Proc Power Ergebnisse in r replizieren kann.

Ich konnte nahezu identische Ergebnisse für das erste Beispiel mit dem gleichen Probengrößen und eine zweiseitige Alternative

bsamsize(p1=.30,p2=.15,fraction=.5, alpha=.05, power=.8) 

vom Hmisc Paket mit bekommen. Aber wenn sie einseitige Tests mit ungleichen Stichproben durchführen, kann ich diese nicht replizieren.

Gibt es eine Möglichkeit, den Prozess in R für die 1-sided Probengrße Berechnungen für ungleiche Gruppengrößen zu replizieren?

Prost.

+0

I‘ Ich bin ein wenig verwirrt, warum Sie 'pwr.t.test' für eine Leistungsanalyse von Proportionen verwenden, anstatt' pwr.chisq.test' zu sagen? Können Sie etwas genauer sein (z. B. zeigen Sie den spezifischen Code, den Sie ausgeführt haben, anstatt nur "Ich gebe die Parameterbereiche ein, wie die UCLA-Site für ihr erstes Beispiel")? –

+0

Hallo. Ich habe oben noch ein paar Infos hinzugefügt. Bitte lassen Sie mich wissen, wenn das nicht hilft. Außerdem liefen die Codezeilen oberhalb des exakten Codes in r, mit den UCLA-Werten in der Funktion. – user27008

+0

Mein Eindruck ist, dass 'd> 0 'notwendig ist, damit' pwr.t.test' aussagekräftige Ergebnisse liefert. –

Antwort

3

In pwr.t.test und seine Derivate, d ist nicht die Null-Differenz (die als Null angenommen wird), aber die Effektgröße/vermutete Differenz zwischen den beiden Populationen. Wenn die Differenz zwischen Bevölkerung bedeutet Null ist, wird keine Stichprobengröße können Sie einen nicht vorhandenen Unterschied erkennen.

Wenn Population A einen Anteil von 15% und Bevölkerung B einen Anteil von 30% hat, dann verwenden Sie die Funktion pwr::ES.h die Effektgröße zu berechnen und einen Test der Proportionen wie zu tun:

> pwr.2p.test(h=ES.h(0.30,0.15),power=0.80,sig.level=0.05) 

    Difference of proportion power calculation for binomial distribution (arcsine transformation) 

       h = 0.3638807 
       n = 118.5547 
     sig.level = 0.05 
      power = 0.8 
    alternative = two.sided 

NOTE: same sample sizes 

> pwr.chisq.test(w=ES.w1(0.3,0.15),df=1,sig.level=0.05,power=0.80) 

    Chi squared power calculation 

       w = 0.2738613 
       N = 104.6515 
      df = 1 
     sig.level = 0.05 
      power = 0.8 

NOTE: N is the number of observations 
+0

Ah, okay. Nun, für 'pwr.2p.test (h = .15, n =, sig.level = .05, macht = .8, alternative =" two.sided ")', habe ich n = 697.6765 pro Gruppe. Ucla bekam n = 121,120, und 132 für dort läuft von drei verschiedenen Methoden. Für die Verwendung von 'pwr.chisq.test (w = 0.15, df = 1, sig.level = 0.05, Potenz = 0.80) 'habe ich N = 348.8382. Ich verstehe immer noch nicht, warum ich so große Unterschiede in ns bekomme. – user27008

+2

Also konnte ich die Ergebnisse replizieren, indem ich die Berechnungen von Hand durchführte. Ich denke, es wäre lohnend, ein Paket in r zu machen, um einige der Tests zu machen, die proc power durchführt. Ich habe meine Formeln festgelegt, bin mir aber nicht sicher, wie schwierig es ist, ein Paket zu erstellen, das die notwendigen Berechnungen durchführt. – user27008

+0

Ich denke, Ihre Interpretation von h-Parameter ist falsch @Blue Magister, weil es möglich ist, h höher als 1 zu liefern, überprüfen Sie dieses Beispiel pwr.2p.test (h = 2, sig.level = 0,05, Leistung = 0,8). Übrigens steht h für Cohens d, das als Intervall (-3,3) bezeichnet wird. Informationen zu diesem Paket finden Sie hier [http://www.statmethods.net/stats/power.html] –