# boot2pvalue: Compute the p.value from the distribution under H1 In riskRegression: Risk Regression Models and Prediction Scores for Survival Analysis with Competing Risks

 boot2pvalue R Documentation

## Compute the p.value from the distribution under H1

### Description

Compute the p.value associated with the estimated statistic using a bootstrap sample of its distribution under H1.

### Usage

```boot2pvalue(
x,
null,
estimate = NULL,
alternative = "two.sided",
FUN.ci = quantileCI,
tol = .Machine\$double.eps^0.5
)
```

### Arguments

 `x` [numeric vector] a vector of bootstrap estimates of the statistic. `null` [numeric] value of the statistic under the null hypothesis. `estimate` [numeric] the estimated statistic. `alternative` [character] a character string specifying the alternative hypothesis, must be one of "two.sided" (default), "greater" or "less". `FUN.ci` [function] the function used to compute the confidence interval. Must take `x`, `alternative`, `conf.level` and `sign.estimate` as arguments and only return the relevant limit (either upper or lower) of the confidence interval. `tol` [numeric] the absolute convergence tolerance.

### Details

For test statistic close to 0, this function returns 1.

For positive test statistic, this function search the quantile alpha such that:

• `quantile(x, probs = alpha)=0` when the argument alternative is set to `"greater"`.

• `quantile(x, probs = 0.5*alpha)=0` when the argument alternative is set to `"two.sided"`.

If the argument alternative is set to `"less"`, it returns 1.

For negative test statistic, this function search the quantile alpha such that:

• `quantile(x, probs = 1-alpha=0` when the argument alternative is set to `"less"`.

• `quantile(x, probs = 1-0.5*alpha=0` when the argument alternative is set to `"two.sided"`.

If the argument alternative is set to `"greater"`, it returns 1.

### Examples

```set.seed(10)

#### no effect ####
x <- rnorm(1e3)
boot2pvalue(x, null = 0, estimate = mean(x), alternative = "two.sided")
## expected value of 1
boot2pvalue(x, null = 0, estimate = mean(x), alternative = "greater")
## expected value of 0.5
boot2pvalue(x, null = 0, estimate = mean(x), alternative = "less")
## expected value of 0.5

#### positive effect ####
x <- rnorm(1e3, mean = 1)
boot2pvalue(x, null = 0, estimate = 1, alternative = "two.sided")
## expected value of 0.32 = 2*pnorm(q = 0, mean = -1) = 2*mean(x<=0)
boot2pvalue(x, null = 0, estimate = 1, alternative = "greater")
## expected value of 0.16 = pnorm(q = 0, mean = 1) = mean(x<=0)
boot2pvalue(x, null = 0, estimate = 1, alternative = "less")
## expected value of 0.84 = 1-pnorm(q = 0, mean = 1) = mean(x>=0)

#### negative effect ####
x <- rnorm(1e3, mean = -1)
boot2pvalue(x, null = 0, estimate = -1, alternative = "two.sided")
## expected value of 0.32 = 2*(1-pnorm(q = 0, mean = -1)) = 2*mean(x>=0)
boot2pvalue(x, null = 0, estimate = -1, alternative = "greater")
## expected value of 0.84 = pnorm(q = 0, mean = -1) = mean(x<=0)
boot2pvalue(x, null = 0, estimate = -1, alternative = "less") # pnorm(q = 0, mean = -1)
## expected value of 0.16 = 1-pnorm(q = 0, mean = -1) = mean(x>=0)
```

riskRegression documentation built on March 23, 2022, 5:07 p.m.