mmcm.mvt: The modified maximum contrast method by using randomized...

Description Usage Arguments Details Value References See Also Examples

View source: R/mmcm.mvt.R

Description

This function gives P-value for the modified maximum contrast statistics by using randomized quasi-Monte Carlo method from pmvt function of package mvtnorm.

Usage

1
2
3
4
5
6
7
mmcm.mvt(
  x,
  g,
  contrast,
  alternative = c("two.sided", "less", "greater"),
  algorithm = GenzBretz()
)

Arguments

x

a numeric vector of data values

g

a integer vector giving the group for the corresponding elements of x

contrast

a numeric contrast coefficient matrix for modified maximum contrast statistics

alternative

a character string specifying the alternative hypothesis, must be one of "two.sided" (default), "greater" or "less". You can specify just the initial letter.

algorithm

an object of class GenzBretz defining the hyper parameters of this algorithm.

Details

mmcm.mvt performs the modified maximum contrast method that is detecting a true response pattern under the unequal sample size situation.

Y_ij (i = 1, 2, ...; j = 1, 2, ..., n_i) is an observed response for j-th individual in i-th group.

C is coefficient matrix for modified maximum contrast statistics (i x k matrix, i: No. of groups, k: No. of pattern).

C = (c_1, c_2, ..., c_k)^T

c_k is coefficient vector of kth pattern.

c_k = (c_k1 c_k2 ... c_ki)^T (sum from i of c_ki = 0)

S_max is the modified maximum contrast statistic.

Ybar_i = (sum from j of Y_ij) / n_i, Ybar = (Ybar_1, Ybar_2, ..., Ybar_i, ..., Ybar_a)^T (a x 1 vector),

V = 1/gamma * sum_{j=1}^{n_i} sum_{i=1}^{a} (Y_ij-Ybar_i)^2, gamma = sum_{i=1}^{a} (n_i-1),

S_k = c_k^t Ybar / (V c_k^t c_k)^(1/2),

S_max = max(S_1, S_2, ..., S_k).

Consider testing the overall null hypothesis H_0: μ_1=μ_2=…=μ_i, versus alternative hypotheses H_1 for response petterns (H_1: μ_1<μ_2<…<μ_i,~ μ_1=μ_2<…<μ_i,~ μ_1<μ_2<…=μ_i). The P-value for the probability distribution of S_max under the overall null hypothesis is

P-value = Pr(S_max > s_max | H0)

s_max is observed value of statistics. This function gives distribution of S_max by using randomized quasi-Monte Carlo method from package mvtnorm.

Value

statistic

the value of the test statistic with a name describing it.

p.value

the p-value for the test.

alternative

a character string describing the alternative hypothesis.

method

the type of test applied.

contrast

a character string giving the names of the data.

contrast.index

a suffix of coefficient vector of the kth pattern that gives modified maximum contrast statistics (row number of the coefficient matrix).

error

estimated absolute error and,

msg

status messages.

References

Nagashima, K., Sato, Y., Hamada, C. (2011). A modified maximum contrast method for unequal sample sizes in pharmacogenomic studies Stat Appl Genet Mol Biol. 10(1): Article 41. http://dx.doi.org/10.2202/1544-6115.1560

Sato, Y., Laird, N.M., Nagashima, K., et al. (2009). A new statistical screening approach for finding pharmacokinetics-related genes in genome-wide studies. Pharmacogenomics J. 9(2): 137–146. http://www.ncbi.nlm.nih.gov/pubmed/19104505

See Also

pmvt, GenzBretz, mmcm.resamp

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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
## Example 1 ##
#  true response pattern: dominant model c=(1, 1, -2)
set.seed(136885)
x <- c(
  rnorm(130, mean =  1 / 6, sd = 1),
  rnorm( 90, mean =  1 / 6, sd = 1),
  rnorm( 10, mean = -2 / 6, sd = 1)
)
g <- rep(1:3, c(130, 90, 10))
boxplot(
  x ~ g,
  width = c(length(g[g==1]), length(g[g==2]), length(g[g==3])),
  main  = "Dominant model (sample data)",
  xlab  = "Genotype", ylab="PK parameter"
)

# coefficient matrix
# c_1: additive, c_2: recessive, c_3: dominant
contrast <- rbind(
  c(-1, 0, 1), c(-2, 1, 1), c(-1, -1, 2)
)
y <- mmcm.mvt(x, g, contrast)
y

## Example 2 ##
#  for dataframe
#  true response pattern:
#    pos = 1 dominant  model c=( 1,  1, -2)
#          2 additive  model c=(-1,  0,  1)
#          3 recessive model c=( 2, -1, -1)
set.seed(3872435)
x <- c(
  rnorm(130, mean =  1 / 6, sd = 1),
  rnorm( 90, mean =  1 / 6, sd = 1),
  rnorm( 10, mean = -2 / 6, sd = 1),
  rnorm(130, mean = -1 / 4, sd = 1),
  rnorm( 90, mean =  0 / 4, sd = 1),
  rnorm( 10, mean =  1 / 4, sd = 1),
  rnorm(130, mean =  2 / 6, sd = 1),
  rnorm( 90, mean = -1 / 6, sd = 1),
  rnorm( 10, mean = -1 / 6, sd = 1)
)
g   <- rep(rep(1:3, c(130, 90, 10)), 3)
pos <- rep(c("rsXXXX", "rsYYYY", "rsZZZZ"), each=230)
xx  <- data.frame(pos = pos, x = x, g = g)

# coefficient matrix
# c_1: additive, c_2: recessive, c_3: dominant
contrast <- rbind(
  c(-1, 0, 1), c(-2, 1, 1), c(-1, -1, 2)
)
y <- by(xx, xx$pos, function(x) mmcm.mvt(x$x, x$g,
  contrast))
y <- do.call(rbind, y)[,c(3,7,9)]
y

mmcm documentation built on March 13, 2020, 2:20 a.m.