# partialCor: Partial Correlation In LMMstar: Repeated Measurement Models for Discrete Times

 partialCor R Documentation

## Partial Correlation

### Description

Estimate the partial correlation based on equation 19 of Lloyd et al 2008 (`partialCor.lmm`) or explicitely modeling the correlation via a linear mixed model (`partialCor.list`, `partialCor.formula`). The first option is numerically more efficient and exact with a single observation per cluster. With multiple repetitions, what is being estimated with the first option may not be clear and the second option is therefore preferrable.

### Usage

``````partialCor(object, ...)

## S3 method for class 'list'
partialCor(
object,
data,
repetition = NULL,
structure = NULL,
by = NULL,
effects = NULL,
rhs = NULL,
method = "none",
df = NULL,
transform.rho = NULL,
name.short = c(TRUE, FALSE),
...
)

## S3 method for class 'formula'
partialCor(object, repetition, ...)

## S3 method for class 'lmm'
partialCor(object, level = 0.95, R2 = FALSE, se = TRUE, df = TRUE, ...)
``````

### Arguments

 `object` a formula with in the left hand side the variables for which the correlation should be computed and on the right hand side the adjustment set. Can also be a list of formula for outcome-specific adjustment set. `...` arguments passed to `confint` for `partialCor.list` and `partialCor.formula`. Not used for `partialCor.lmm`. `data` [data.frame] dataset containing the variables. `repetition` [formula] Specify the structure of the data: the time/repetition variable and the grouping variable, e.g. ~ time|id. `structure` [character] Specify the residual variance-covariance structure. Without repetitions, either `"UN"` or `"CS"`. With repetitions, one of `"UN"`, `"PEARSON"`, `"HLAG"`, `"LAG"`, `"HCS"`, `"CS"`. `by` [character] variable used to stratified the correlation on. `effects` [character or matrix] type of contrast to be used for comparing the correlation parameters. One of `"Dunnett"`, `"Tukey"`, `"Sequen"`, or a contrast matrix. `rhs` [numeric vector] right hand side for the comparison of correlation parameters. `method` [character] adjustment for multiple comparisons (e.g. `"single-step"`). `df` [logical] Should a Student's t-distribution be used to model the distribution of the coefficient. Otherwise a normal distribution is used. `transform.rho` [character] scale on which perform statistical inference (e.g. `"atanh"`) `name.short` [logical vector of length 2] use short names for the output coefficients (omit the name of the by variable, omit name of the correlation parameter) `level` [numeric,0-1] the confidence level of the confidence intervals. `R2` [logical] Should the R2 (coefficient of determination) be computed? `se` [logical] Should the uncertainty about the partial correlation be evaluated? Only relevant for `partialCor.lmm`.

### Details

Fit a mixed model to estimate the partial correlation with the following variance-covariance pattern:

• no repetition: unstructure or compound symmetry structure for M observations, M being the number of variables on the left hand side (i.e. outcomes).

• repetition: structure for M*T observations where M being the number of variables (typically 2) and T the number of repetitions. Can be

• `"UN"`: unstructured (except the off-diagonal containing the correlation parameter which is constant).

• `"PEARSON"`: same as unstructured except it only uses a single variance parameter per variable, i.e. it assumes constant variance over repetitions.

• `"HLAG"`: toeplitz by block with variable and repetition specific variance.

• `"LAG"`: toeplitz by block, i.e. correlation depending on the gap between repetitions and specific to each variable. It assumes constant variance over repetitions.

• `"HCS"`: heteroschedastic compound symmetry by block, i.e. variable specific correlation constant over repetitions. A specific parameter is used for the off-diagonal crossing the variables at the same repetition (which is the marginal correlation parameter).

• `"CS"`: compound symmetry by block. It assumes constant variance and correlation over repetitions.

### Value

A data.frame with the estimate partial correlation (rho), standard error, degree of freedom, confidence interval, and p-value (test of no correlation). When `structure="CS"` or `structure="HCS"` is used with repeated measurements, a second correlation coefficient (r) is output where the between subject variance has been removed (similar to Bland et al. 1995).

### References

Bland J M, Altman D G. Statistics notes: Calculating correlation coefficients with repeated observations: Part 1â€”correlation within subjects BMJ 1995; 310 :446 doi:10.1136/bmj.310.6977.446 Edwards, L.J., Muller, K.E., Wolfinger, R.D., Qaqish, B.F. and Schabenberger, O. (2008), An R2 statistic for fixed effects in the linear mixed model. Statist. Med., 27: 6137-6157. https://doi.org/10.1002/sim.3429

### Examples

``````
#### no repetition ####

## example from ppcor::pcor
y.data <- data.frame(
hl=c(7,15,19,15,21,22,57,15,20,18),
disp=c(0.000,0.964,0.000,0.000,0.921,0.000,0.000,1.006,0.000,1.011),
deg=c(9,2,3,4,1,3,1,3,6,1),
BC=c(1.78e-02,1.05e-06,1.37e-05,7.18e-03,0.00e+00,0.00e+00,0.00e+00
,  4.48e-03,2.10e-06,0.00e+00)
)
## ppcor::pcor(y.data)

## partial correlation based on a formula
partialCor(c(hl,disp)~BC+deg, data = y.data)
partialCor(hl + disp~BC+deg, data = y.data)
## partial correlation based on a list
partialCor(list(hl~BC+deg,disp~BC+deg), data = y.data)
## via an existing model
e.lm <- lmm(hl~disp+BC+deg, data = y.data)
partialCor(e.lm)

## using a different set of covariates for outcome
partialCor(list(hl~BC+deg, disp~BC), data = y.data)

## statified correlation (using another dataset)
data(gastricbypassW, package = "LMMstar")
gastricbypassW\$weight.bin <- gastricbypassW\$weight1>=120
partialCor(glucagonAUC1+glucagonAUC2~1, data = gastricbypassW, by = "weight.bin")

## compared correlation between groups
partialCor(glucagonAUC1+glucagonAUC2~1, data = gastricbypassW, by = "weight.bin",
effects = "Dunnett")

#### with repetitions ####
## Not run:
data(gastricbypassL, package = "LMMstar")
## via a mixed model
eUN.lmm <- lmm(weight ~ glucagonAUC+time, repetition =~time|id,
data = gastricbypassL, structure = "UN")
partialCor(eUN.lmm)

## mean: variable and timepoint specific mean parameter (8)
## variance: variable and timepoint specific variance parameter (8)
## correlation: correlation parameter specific for each variable and time lag (10)
e.cor <- partialCor(weight+glucagonAUC~time, repetition =~time|id,
data = gastricbypassL, structure = "LAG")
e.cor
coef(attr(e.cor,"lmm"), effects = "correlation")
if(require(ggplot2)){
autoplot(e.cor)
}

## same except for the mean structure: variable specific mean parameter (2)
e.cor2 <- partialCor(weight+glucagonAUC~time, repetition =~time|id,
data = gastricbypassL, structure = "LAG")

## mean: variable and timepoint specific mean parameter (8)
## variance: variable specific variance parameter (2)
## correlation: correlation parameter specific for each variable and some time lag (4)
e.cor3 <- partialCor(weight+glucagonAUC~time, repetition =~time|id,
data = gastricbypassL, structure = "CS")
e.cor3
coef(attr(e.cor3,"lmm"), effects = "correlation")
if(require(ggplot2)){
autoplot(e.cor3)
}

## End(Not run)
``````

LMMstar documentation built on Nov. 9, 2023, 1:06 a.m.