Nothing
## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
library(MarZIC)
## -----------------------------------------------------------------------------
## A make up example with 1 taxon and 100 subjects.
set.seed(1)
nSub <- 200
nTaxa <- 10
## generate covariate of interest X
X <- rbinom(nSub, 1, 0.5)
## generate confounders
conf1<-rnorm(nSub)
conf2<-rbinom(nSub,1,0.5)
## generate mean of each taxon. All taxon are having the same mean for simplicity.
mu <- exp(-5 + X + 0.1 * conf1 + 0.1 * conf2) /
(1 + exp(-5 + X + 0.1 * conf1 + 0.1 * conf2))
phi <- 10
## generate true RA
M_taxon<-t(sapply(mu,function(x) dirmult::rdirichlet(n=1,rep(x*phi,nTaxa))))
P_zero <- exp(-3 + 0.3 * X + 0.1 * conf1 + 0.1 * conf2) /
(1 + exp(-3 + 0.3 * X + 0.1 * conf1 + 0.1 * conf2))
non_zero_ind <- t(sapply(P_zero,function(x) 1-rbinom(nTaxa,1,rep(x,nTaxa))))
True_RA<-t(apply(M_taxon*non_zero_ind,1,function(x) x/sum(x)))
## generate outcome Y based on true RA
Y <- 1 + 100 * True_RA[,1] + 5 * (True_RA[,1] > 0) + X + conf1 + conf2 + rnorm(nSub)
## library size was set to 10,000 for all subjects for simplicity.
libsize <- 10000
## generate observed RA
observed_AA <- floor(M_taxon*libsize*non_zero_ind)
observed_RA <- t(apply(observed_AA,1,function(x) x/sum(x)))
colnames(observed_RA)<-paste0("rawCount",seq_len(nTaxa))
CovData <- cbind(Y = Y, X = X, libsize = libsize, conf1 = conf1, conf2 = conf2)
## -----------------------------------------------------------------------------
## run the analysis
res <- MarZIC(
MicrobData = observed_RA,
CovData = CovData,
lib_name = "libsize",
y_name = "Y",
x_name = "X",
conf_name = c("conf1","conf2"),
taxa_of_interest = c("rawCount1","rawCount2","rawCount3"),
num_cores = 1,
mediator_mix_range = 1
)
## -----------------------------------------------------------------------------
NIE1 <- res$NIE1_save
## -----------------------------------------------------------------------------
subset(NIE1, significance == TRUE)
## ----sessionInfo, echo=FALSE--------------------------------------------------
sessionInfo()
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.