rowFtests package:genefilter R Documentation _t-_t_e_s_t_s _a_n_d _F-_t_e_s_t_s _f_o_r _r_o_w_s _o_r _c_o_l_u_m_n_s _o_f _a _m_a_t_r_i_x _D_e_s_c_r_i_p_t_i_o_n: t-tests and F-tests for rows or columns of a matrix _U_s_a_g_e: rowttests(x, fac, tstatOnly = FALSE) colttests(x, fac, tstatOnly = FALSE) fastT(x, ig1, ig2, var.equal = TRUE) rowFtests(x, fac, var.equal = TRUE) colFtests(x, fac, var.equal = TRUE) _A_r_g_u_m_e_n_t_s: x: 'exprSet' or numeric matrix. The matrix must not contain 'NA' values. fac: Factor; if 'x' is an 'exprSet', this may also be a character vector of length 1 with the name of a covariate variable in 'x'. For the 'row*' functions, the length of the factor must be the same as the number of columns of 'x'. For the 'col*' functions, it must be the same as the number of rows of 'x'. For the '*ttests' function, 'fac' must have exactly two levels. tstatOnly: a logical variable indicating whether to calculate parametric p-values. If 'FALSE', just the t-statistics are returned. This can be considerably faster. ig1: The indices of the columns of 'x' that correspond to group 1. ig2: The indices of the columns of 'x' that correspond to group 2. var.equal: a logical variable indicating whether to treat the variances in the samples as equal. If 'TRUE', a simple F test for the equality of means in a one-way analysis of variance is preformed. If 'FALSE', an approximate method of Welch (1951) is used, which generalizes the commonly known 2-sample Welch test to the case of arbitrarily many samples. _D_e_t_a_i_l_s: 'rowttests' and 'colttests' are implemented in C and are reasonably fast and memory-efficient. 'fastT' is a wrapper for 'rowttests', useful for some legacy code. If 'fac' is specified, 'rowttests' performs for each row of 'x' a two-sided, two-class t-test with equal variances. 'fac' must be a factor of length 'ncol(x)' with two levels, corresponding to the two groups. The sign of the resulting t-statistic corresponds to "group 1 minus group 2". If 'fac' is missing, 'rowttests' performs for each row of 'x' a two-sided one-class t-test against the null hypothesis 'mean=0'. 'rowFtests' and 'colFtests' are currently implemented using matrix algebra in R. Compared to the '*ttests' functions, they are slower and use more memory. If 'var.equal' is 'FALSE', 'nrow(x)+1' degree of freedoms are given, the first one is the first degree of freedom (it is the same for each row) and the other ones are the second degree of freedom (one for each row). _V_a_l_u_e: For the 'row*' and 'col*' functions, a list with the test statistics, p-values, and degrees of freedom. Additonally, the t-test functions return the differences of group means. _A_u_t_h_o_r(_s): Wolfgang Huber _R_e_f_e_r_e_n_c_e_s: B. L. Welch (1951), On the comparison of several mean values: an alternative approach. Biometrika, *38*, 330-336 _S_e_e _A_l_s_o: 'mt.teststat' _E_x_a_m_p_l_e_s: x = matrix(runif(970), ncol=97) f2 = factor(floor(runif(ncol(x))*2)) f7 = factor(floor(runif(ncol(x))*7)) r1 = rowttests(x) r2 = rowttests(x, f2) r7 = rowFtests(x, f7) ## compare with pedestrian tests about.equal = function(x,y,tol=1e-10) stopifnot(all(abs(x-y) < tol)) s1 = t.test(x[1,]) about.equal(s1$statistic, r1$statistic[1]) about.equal(s1$p.value, r1$p.value[1]) s2 = t.test(x[1,] ~ f2, var.equal=TRUE) about.equal(s2$statistic, r2$statistic[1]) about.equal(s2$p.value, r2$p.value[1]) dm = -diff(tapply(x[1,], f2, mean)) about.equal(dm, r2$dm[1]) s7 = summary(lm(x[1,]~f7)) about.equal(s7$statistic$value, r7$statistic[1]) ## colttests c2 = colttests(t(x), f2) stopifnot(identical(r2, c2))