circa_single_mixed {circacompare}R Documentation

circa_single_mixed

Description

circa_single_mixed is similar to circa_single but allows for some simple, user-specified random-effects on the rhythmic parameters of choice.

Usage

circa_single_mixed(
  x,
  col_time,
  col_outcome,
  col_id,
  randomeffects = c("k", "alpha", "phi"),
  period = 24,
  alpha_threshold = 0.05,
  nlme_control = list(),
  nlme_method = "ML",
  weights = NULL,
  suppress_all = FALSE,
  timeout_n = 10000,
  return_figure = TRUE,
  control = list()
)

Arguments

x

data.frame. This is the data.frame which contains the rhythmic data in a tidy format.

col_time

The name of the column within the data.frame, x, which contains time in hours at which the data were collected.

col_outcome

The name of the column within the data.frame, x, which contains outcome measure of interest.

col_id

The name of the column within the data.frame, x, which contains the identifying values for the random effect, such as subject_id.

randomeffects

which rhythmic parameters to allow random effects. The default is to include all rhythmic parameters.

period

The period of the rhythm. For circadian rhythms, leave this as the default value, 24.

alpha_threshold

The level of alpha for which the presence of rhythmicity is considered. Default is to 0.05.

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 "ML".

weights

An optional numeric vector of (fixed) weights internally passed to nlme::nlme() via nlme::varPower(). When present, the objective function is weighted least squares.

suppress_all

Logical. Set to TRUE to avoid seeing errors or messages during model fitting procedure. Default is FALSE. If FALSE, also runs nlme() with verbose = TRUE.

timeout_n

The upper limit for the model fitting attempts. Default is 10000.

return_figure

Whether or not to return a ggplot graph of the rhythm and cosine model.

control

list. Used to control the parameterization of the model.

Value

list

Examples


set.seed(42)
mixed_data <- function(n) {
  counter <- 1
  for (i in 1:n) {
    x <- make_data(k1 = rnorm(1, 10, 2), alpha1 = 0, phi1 = 0)
    x$id <- counter
    counter <- counter + 1
    if (i == 1) {
      res <- x
    } else {
      res <- rbind(res, x)
    }
  }
  return(res)
}
df <- mixed_data(n = 50)
out <- circa_single_mixed(
  x = df, col_time = "time", col_outcome = "measure",
  col_id = "id", randomeffects = c("k")
)

# with sample weights (arbitrary weights for demonstration)
sw <- runif(n = nrow(df))
out2 <- circa_single_mixed(
  x = df, col_time = "time", col_outcome = "measure",
  col_id = "id", randomeffects = c("k"), weights = sw
)


[Package circacompare version 0.2.0 Index]