# SAM Analysis of Linear Trend

### Description

Generates the required statistics for a Significance Analysis of Microarrays for a linear trend in (ordinal) data.

In the two-class case, the Cochran-Armitage 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 sam(..., method = trend.stat).

### Usage

1 2 3 4 5 6 7 |

### 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 Cochran-Armitage trend statistic be computed in the two-class case? If |

`approx` |
should the null distribution be approximated by the |

`B` |
the number of permutations used in the estimation of the null distribution,
and hence, in the computation of the expected |

`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 how many permutations are considered
simultaneously when computing the expected |

`rand` |
numeric value. If specified, i.e. not |

`...` |
ignored. |

### Value

A list containing statistics required by `sam`

.

### Author(s)

Holger Schwender, holger.schw@gmx.de

### References

Agresti, A.\ (2002). *Categorical Data Analysis*. Wiley, Hoboken, NJ. 2nd Edition.

Tusher, V.G., Tibshirani, R., and Chu, G. (2001). Significance analysis of microarrays
applied to the ionizing radiation response. *PNAS*, 98, 5116-5121.

### See Also

`SAM-class`

,`sam`

, `chisq.stat`

, `trend.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 represented by the rows of mat.
cl <- rep(1:2, e=20)
# Then an SAM analysis of linear trend can be done by
out <- sam(mat, cl, method=trend.stat)
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 SAM analysis as above can then be
# performed by
out2 <- sam(ltabs, method=trend.stat, approx=TRUE)
out2
## End(Not run)
``` |