擅长:python、mysql、java
<p>马特得到所需n(每组)的答案几乎是正确的,但有一个小错误。</p>
<p>给定d(均值差)、s(标准差)、sig(显著性水平,通常为0.05)和幂(通常为0.80),计算每组观察数的公式为:</p>
<pre><code>n= (2s^2 * ((z_(sig/2) + z_power)^2) / (d^2)
</code></pre>
<p>从他的公式中可以看出</p>
<pre><code>n = s * ((zp + z)**2) / (d**2)
</code></pre>
<p>“s”部分是错误的。再现r的功能的正确函数是:</p>
<pre><code>def sample_power_difftest(d, s, power=0.8, sig=0.05):
z = norm.isf([sig/2])
zp = -1 * norm.isf([power])
n = (2*(s**2)) * ((zp + z)**2) / (d**2)
return int(round(n[0]))
</code></pre>
<p>希望这有帮助。</p>