View source: R/circacompare_mixed.R
| circacompare_mixed | R Documentation | 
circacompare_mixed is similar to circacompare but allows for some simple, user-specified random-effects on the rhythmic parameters of choice.
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()
)
| 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 | 
 | 
list
# 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
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.