rowFtests {arrayMagic} | R Documentation |
F-test and t-test for rows of a matrix
rowFtests(x, fac,var.equal = TRUE) rowttests(x, fac)
x |
Matrix |
fac |
Factor, with length(fac)=ncol(x) . For
rowttests , fac must have exactly two levels. |
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. |
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.
If fac
is missing, rowttests
performs for each row of
x
a two-sided one-class t-test against the null hypothesis 'mean=0'.
With the current implementation, NA
s are not allowed. This
could be changed if desirable.
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).
A list with the test statistics, p-values, degrees of freedom.
Wolfgang Huber <w.huber@dkfz.de>
B. L. Welch (1951), On the comparison of several mean values: an alternative approach. Biometrika, *38*, 330-336
x = matrix(runif(9700), ncol=97) k2 = floor(runif(ncol(x))*2) k7 = floor(runif(ncol(x))*7) t1 = rowttests(x) t2 = rowttests(x, factor(k2)) ft = rowFtests(x, factor(k7)) # some trouble with multtest #if(require(multtest)) { #fs = mt.teststat(x, k7, test="f") #stopifnot(all(abs(fs - ft$statistic) < 1e-6)) #ts2 = mt.teststat(x, k2, test="t.equalvar") #stopifnot(all(abs(ts2 - t2$statistic) < 1e-6)) #ts1 = apply(x, 1, function(x) t.test(x)$statistic) #stopifnot(all(abs(ts1 - t1$statistic) < 1e-6)) #}