circacompare_mixed {circacompare} | R Documentation |
circacompare_mixed
Description
circacompare_mixed
is similar to circacompare
but allows for some simple, user-specified random-effects on the rhythmic parameters of choice.
Usage
circacompare_mixed(
x,
col_time,
col_group,
col_outcome,
col_id,
randomeffects = c(),
period = 24,
alpha_threshold = 0.05,
nlme_control = list(),
nlme_method = "REML",
weights = NULL,
suppress_all = FALSE,
timeout_n = 10000,
control = list()
)
Arguments
x |
|
col_time |
The name of the column within the data.frame, |
col_group |
The name of the column within the data.frame, |
col_outcome |
The name of the column within the data.frame, |
col_id |
The name of the column within the data.frame, |
randomeffects |
which rhythmic parameters to allow random effects. The default is to include no rhythmic parameters. |
period |
The period of the rhythm. For circadian rhythms, leave this as the default value, |
alpha_threshold |
The level of alpha for which the presence of rhythmicity is considered. Default is to |
nlme_control |
A list of control values for the estimation algorithm to replace the default values returned by the function nlme::nlmeControl. Defaults to an empty list. |
nlme_method |
A character string. If "REML" the model is fit by maximizing the restricted log-likelihood. If "ML" the log-likelihood is maximized. Defaults to "REML". |
weights |
An optional numeric vector of (fixed) weights internally passed to |
suppress_all |
Logical. Set to |
timeout_n |
The upper limit for the model fitting attempts. Default is |
control |
|
Value
list
Examples
# Generate some data with within-id correlation for phase-shift (phi1)
set.seed(99)
phi1_in <- 3.15
mixed_data <- function(n) {
counter <- 1
for (i in 1:n) {
x <- make_data(k1 = 0, alpha1 = 0, phi1 = rnorm(1, phi1_in, 0.5), hours = 72, noise_sd = 1)
x$id <- counter
counter <- counter + 1
if (i == 1) {
res <- x
} else {
res <- rbind(res, x)
}
}
return(res)
}
df <- mixed_data(20)
out <- circacompare_mixed(
x = df,
col_time = "time",
col_group = "group",
col_outcome = "measure",
col_id = "id",
control = list(grouped_params = c("phi"), random_params = c("phi1"))
)
# with sample weights (arbitrary weights for demonstration)
sw <- runif(n = nrow(df))
out2 <- circacompare_mixed(
x = df,
col_time = "time",
col_group = "group",
col_outcome = "measure",
col_id = "id",
control = list(grouped_params = c("phi"), random_params = c("phi1")),
weights = sw
)