EBAM Analysis of Linear Trend
Description
Generates the required statistics for an Empirical Bayes Analysis of Microarrays for a linear trend in (ordinal) data.
In the twoclass case, the CochranArmitage trend statistic is computed. Otherwise, the statistic for the general test of trend described on page 87 of Agresti (2002) is determined.
Should not be called directly, but via ebam(..., method = trend.ebam).
Usage
1 2 3 4 5 6 7 8 9  ## Default S3 method:
trend.ebam(data, cl, catt = TRUE, approx = TRUE, n.interval = NULL,
df.dens = NULL, knots.mode = NULL, type.nclass = "wand",
B = 100, B.more = 0.1, B.max = 50000, n.subset = 10,
fast = FALSE, df.ratio = 3, rand = NA, ...)
## S3 method for class 'list'
trend.ebam(data, cl, catt = TRUE, approx = TRUE, n.interval = NULL,
df.dens = NULL, knots.mode = NULL, type.nclass = "wand", ...)

Arguments
data 
either a numeric matrix or data frame, or a list. If a matrix or data frame, then each row must correspond to a variable (e.g., a SNP), and each column to a sample (i.e.\ an observation). The values in the matrix or data frame are interpreted as the scores for the different levels of the variables. If the number of observations is huge it is better to specify 
cl 
a numeric vector of length 
catt 
should the CochranArmitage trend statistic be computed in the twoclass case? If 
approx 
should the null distribution be approximated by the Chisquaredistribution
with one degree of freedom? If 
n.interval 
the number of intervals used in the logistic regression with
repeated observations for estimating the ratio f0/f
(if 
df.dens 
integer specifying the degrees of freedom of the natural cubic
spline used in the Poisson regression to estimate the density of the observed
zvalues. Ignored if 
knots.mode 
if 
type.nclass 
character string specifying the procedure used to compute the
number of cells of the histogram. Ignored if 
B 
the number of permutations used in the estimation of the null distribution, and hence, in the computation of the expected zvalues. 
B.more 
a numeric value. If the number of all possible permutations is smaller
than or equal to (1+ 
B.max 
a numeric value. If the number of all possible permutations is smaller
than or equal to 
n.subset 
a numeric value indicating in how many subsets the 
fast 
if 
df.ratio 
integer specifying the degrees of freedom of the natural cubic
spline used in the logistic regression with repeated observations. Ignored
if 
rand 
numeric value. If specified, i.e. not 
... 
ignored. 
Value
A list containing statistics required by ebam
.
Author(s)
Holger Schwender, holger.schw@gmx.de
References
Agresti, A.\ (2002). Categorical Data Analysis. Wiley, Hoboken, NJ. 2nd Edition.
Efron, B., Tibshirani, R., Storey, J.D., and Tusher, V. (2001). Empirical Bayes Analysis of a Microarray Experiment, JASA, 96, 11511160.
See Also
EBAMclass
,ebam
, trend.stat
, chisq.ebam
Examples
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36  ## Not run:
# Generate a random 1000 x 40 matrix consisting of the values
# 1, 2, and 3, and representing 1000 variables and 40 observations.
mat < matrix(sample(3, 40000, TRUE), 1000)
# Assume that the first 20 observations are cases, and the
# remaining 20 are controls, and that the values 1, 2, 3 in
# mat can be interpreted as scores for the different levels
# of the variables.
cl < rep(1:2, e=20)
# Then an EBAM analysis of linear trend can be done by
out < ebam(mat, cl, method=trend.ebam)
out
# The same results can also be obtained by employing
# contingency tables, i.e. by specifying data as a list.
# For this, we need to generate the tables summarizing
# groupwise how many observations show which level at
# which variable. These tables can be obtained by
library(scrime)
cases < rowTables(mat[, cl==1])
controls < rowTables(mat[, cl==2])
ltabs < list(cases, controls)
# And the same EBAM analysis as above can then be
# performed by
out2 < ebam(ltabs, method=trend.ebam)
out2
## End(Not run)
