Newer
Older
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
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/actualinteractionfixeffects.R
\name{computeActualInteractionFixEff}
\alias{computeActualInteractionFixEff}
\title{Compute actual interaction values for multiple interaction terms.}
\usage{
computeActualInteractionFixEff(l_interactionTerm, categorical_vars, dataActual)
}
\arguments{
\item{l_interactionTerm}{A list of interaction terms in the form of "term1:term2".}
\item{categorical_vars}{A character vector containing the names of categorical variables in the data.}
\item{dataActual}{The data frame containing the actual gene expression values and metadata.}
}
\value{
A data frame containing the actual interaction values for each interaction term.
}
\description{
This function calculates the actual interaction values for multiple interaction terms
using the provided data.
}
\examples{
N_GENES <- 4
MIN_REPLICATES <- 3
MAX_REPLICATES <- 3
init_var <- init_variable(name = "varA", mu = 8, sd = 0.1, level = 3) \%>\%
init_variable(name = "varB", mu = c(5,-5), NA , level = 2) \%>\%
init_variable(name = "varC", mu = 1, 3, 3) \%>\%
add_interaction(between_var = c("varA", "varC"), mu = 5, 0.1)
mock_data <- mock_rnaseq(init_var, N_GENES,
MIN_REPLICATES, MAX_REPLICATES )
data2fit <- prepareData2fit(countMatrix = mock_data$counts,
metadata = mock_data$metadata )
results_fit <- fitModelParallel(formula = kij ~ varA + varB + varC + varA:varC,
data = data2fit, group_by = "geneID",
family = glmmTMB::nbinom2(link = "log"), n.cores = 1)
tidy_tmb <- tidy_tmb(results_fit)
fixEff_dataInference <- subsetFixEffectInferred(tidy_tmb)
fixEff_dataActual <- getData2computeActualFixEffect(mock_data$groundTruth$effects)
interactionTerm <- fixEff_dataInference$fixed_term$interaction[[1]]
categorical_vars <- fixEff_dataActual$categorical_vars
dataActual <- fixEff_dataActual$data
l_labelsInCategoricalVars <- lapply(dataActual[, categorical_vars], levels)
l_interaction <- strsplit(interactionTerm, split = ":")[[1]]
l_categoricalVarsInInteraction <- lapply(l_interaction,
function(label) findAttribute(label,
l_labelsInCategoricalVars)) \%>\%
unlist()
data_prepared <- prepareData2computeInteraction(categorical_vars,
l_categoricalVarsInInteraction, dataActual)
# Compute actual interaction values for multiple interactions
actualInteraction <- computeActualInteractionFixEff(interactionTerm, categorical_vars, dataActual)
}