2013-03-13 26 views
6

所以我試圖看看SAS中的proc power與r中的一些樣本大小函數之間的樣本大小計算(對於樣本大小不等的兩個樣本獨立比例)有多接近。我使用這裏找到at a UCLA website.r中的樣本大小和功率計算可以替代SAS中的proc功率?

加州大學洛杉磯分校的網站給出的參數如下數據:

P1 = 3,P2 = 0.15,功率= 0.8,零差= 0,而對於雙面測試它假定樣本大小相同;

對於不相等的樣本量測試,參數相同,組1的權重爲1,組2的權重爲2,並且它們執行的測試是單向的。

我使用R函數

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

pwr包。

所以,如果我輸入的參數選擇爲加州大學洛杉磯分校的網站有他們的第一個例子中,我得到以下錯誤:

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

這似乎是因爲不同的是用r檢測不到。我設定了d = .5並且它跑了。 SAS也會因爲太小的差異而給出錯誤嗎?它在示例中沒有,因爲它們的零差也是零。

我使用

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

時,還可以獲得上述錯誤
pwr.chisq.test(w =0, N = , df =1 , sig.level =.05, power =.8). 

我可能會做一些可怕的錯誤,但我不能似乎真的找到一種方法,如果假設的差爲0

據我所知,SAS和r使用不同的方法來計算功率,所以我不應該期望得到相同的結果。我真的只是想看看我是否可以在r中複製proc power結果。

我已經能夠獲得接近用於與相等的樣本大小的第一示例相同的結果,並使用

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

雙面替代從Hmisc包。但是,當他們做不同樣本量的單側測試時,我無法複製這些樣本。

有沒有辦法在r中複製單個樣本大小計算中不同組的大小?

乾杯。

+0

我有點困惑,爲什麼你使用'pwr.t.test'來進行比例的權力分析,而不是說'pwr.chisq.test'?你能稍微更具體一些嗎(例如,顯示你運行的特定代碼,而不是像UCLA站點第一個例子那樣輸入參數部分)? – 2013-03-13 20:29:37

+0

嗨。我在上面添加了更多信息。請讓我知道如果這沒有幫助。此外,我在r中運行的確切代碼之上的代碼行,以及函數中的UCLA值。 – user27008 2013-03-13 20:43:45

+0

我的印象是'd> 0'對於'pwr.t.test'是必要的,以提供有意義的輸出。 – 2013-03-13 21:01:50

回答

3

pwr.t.test及其衍生物中,d不是零差異(假設爲零),而是影響大小/假設兩個羣體之間的差異。如果總體均值之間的差值爲零,則沒有樣本規模會讓您檢測到不存在的差異。

如果人口A有15%的比例與人口B有30%的比例,那麼你使用的功能pwr::ES.h計算效果的程度,不喜歡的比例的測試:

> 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

啊,好的。那麼,對於使用'pwr.2p.test(h = .15,n =,sig.level = .05,power = .8,alternative =「two.sided」)',我得到了每組697.6765。 Ucla得到n = 121,120和132三種不同方法的運行。爲了使用'pwr.chisq.test(w = 0.15,df = 1,sig.level = 0.05,power = 0.80)',我得到了N = 348.8382。我仍然不理解爲什麼我在n中得到如此巨大的差異。 – user27008 2013-03-14 14:35:55

+2

所以我最終能夠通過手動執行計算來複制結果。我認爲在r中做一些軟件包來執行一些處理能力的測試是值得的。我有我的公式設置,但我不確定製作一個能夠進行必要計算的包是多麼困難。 – user27008 2013-03-14 22:51:35

+0

我認爲你對h參數的解釋是錯誤的@藍魔法師,因爲它有可能提供高於1的h,檢查這個例子pwr.2p.test(h = 2,sig.level = 0.05,power = 0.8)。順便說一下,h代表Cohen的d,它被認爲屬於區間(-3,3)檢查有關此軟件包的信息[這裏](http://www.statmethods.net/stats/power.html) – 2014-11-08 19:07:53