poolVar package:limma R Documentation _P_o_o_l _S_a_m_p_l_e _V_a_r_i_a_n_c_e_s _w_i_t_h _U_n_e_q_u_a_l _V_a_r_i_a_n_c_e_s _D_e_s_c_r_i_p_t_i_o_n: Compute the Satterthwaite (1946) approximation to the distribution of a weighted sum of sample variances. _U_s_a_g_e: poolVar(var, df=n-1, multiplier=1/n, n) _A_r_g_u_m_e_n_t_s: var: numeric vector of independent sample variances df: numeric vector of degrees of freedom for the sample variances multiplier: numeric vector giving multipliers for the sample variances n: numeric vector of sample sizes _D_e_t_a_i_l_s: The sample variances 'var' are assumed to follow scaled chi-square distributions. A scaled chi-square approximation is found for the distribution of 'sum(multiplier * var)' by equating first and second moments. On output the sum to be approximated is equal to 'multiplier * var' which follows approximately a scaled chisquare distribution on 'df' degrees of freedom. The approximation was proposed by Satterthwaite (1946). If there are only two groups and the degrees of freedom are one less than the sample sizes then this gives the denominator of Welch's t-test for unequal variances. _V_a_l_u_e: A list with components var: effective pooled sample variance df: effective pooled degrees of freedom multiplier: pooled multiplier _A_u_t_h_o_r(_s): Gordon Smyth _R_e_f_e_r_e_n_c_e_s: Welch, B. L. (1938). The significance of the difference between two means when the population variances are unequal. _Biometrika_ *29*, 350-362. Satterthwaite, F. E. (1946). An approximate distribution of estimates of variance components. _Biometrics Bulletin_ *2*, 110-114. Welch, B. L. (1947). The generalization of 'Student's' problem when several different population variances are involved. _Biometrika_ *34*, 28-35. Welch, B. L. (1949). Further note on Mrs. Aspin's tables and on certain approximations to the tabled function. _Biometrika_ *36*, 293-296. _S_e_e _A_l_s_o: 10.Other _E_x_a_m_p_l_e_s: # Welch's t-test with unequal variances x <- rnorm(10,mean=1,sd=2) y <- rnorm(20,mean=2,sd=1) s2 <- c(var(x),var(y)) n <- c(10,20) out <- poolVar(var=s2,n=n) tstat <- (mean(x)-mean(y)) / sqrt(out$var*out$multiplier) pvalue <- 2*pt(-abs(tstat),df=out$df) # Equivalent to t.test(x,y)