R: how to do statistical inference on multiple dependent and independent variables?

In the past I've run separate multiple regression models for many correlated independent variables and one dependent variable. For this I've been using the R package multtest (http://www.bioconductor.org/packages/release/bioc/html/multtest.html). This allowed me to compute adjusted p-values that took the correlation structure of my matrix of independent variables into account.

Now, I want to do the same thing but for several dependent variables as well. Put differently, I have a matrix Y with my dependent variables and a matrix X with my independent variables. From this I want to estimate X*Y regression models. Importantly, I want the adjusted p-values to account for the correlation structure of both the independent and the dependent variables. I'm looking forward to your suggestions. I've suggested to the authors of multtest before to extend their library to accomodate this case but this hasn't happened yet.

Example (added): Let's say I have gene expression data from 10 different tissues. Now I want to know if gene expression is correlated with a 100 different SNPs. This means I'm effectively testing 100*10 = 1000 hypothesis. However, all these hypothesis are not independent of each other. The SNPs might be correlated to each other due to linkage disequilibrium and gene expression might also be correlated accross different tissues, depending on their similarity. Therefore a Bonferroni correction of my p-values for this 1000 statistical tests would be too conservative. I'm looking for a way to derive adjusted p-values that accounts for the above described dependencies within both the independent and the dependent variables.

• This is way to broad. Can you explain your research motives, hypothesis, ... in terms of the application? Then we can see what we can do. Mar 6 '15 at 11:40
• I hope my question becomes easier to understand with the example that I've provided.
– aciM
Mar 6 '15 at 12:42

I am using structural equation modelling in my research to predict several dependent variables from many independent variables.

To my knowledge, SEM is the only statistical analysis that can predict several IV on several DV at the same time (that is, controlling for one another).

You can do SEM quite easily with the lavaan package in R (see: http://lavaan.ugent.be/tutorial/sem.html ).

So I imagine in your example you might have a code like this in lavaan: model <- 'GeneExpressionATissue1 ~ SNP1+SNP2... GeneExpressionATissue2 ~ SNP1+SNP2... SNP1 ~~ SNP2+SNP3+SNP4... [SNP is not independent to one another] '

fit <- sem(model, data = XXX) summary(fit, standardized = TRUE)

Using SEM, you can specify that the SNPs (IVs) are not independent, and the gene expression (DVs) are not independent too. And, you can test all the hypotheses at the same time.

• thanks for your comment. However, I'm not planning to estimate all variables at the same time. What I'd like to do is running X*Y regression models, i.e. estimating the effect of each SNP on each gene expression variable separately. I'm really just looking for a way to compute adjusted p-values that take the correlation structure into account.
– aciM
Mar 9 '15 at 12:41