Mixed regression model analysis for continuous data adjusting for periods as a random factor
Source:R/mixmodel_cont.R
mixmodel_cont.Rd
This function performs linear mixed model regression taking into account all trial data until the arm under study leaves the trial and adjusting for periods as random factors.
Arguments
- data
Data frame with trial data, e.g. result from the
datasim_cont()
function. Must contain columns named 'treatment', 'response' and 'period'.- arm
Integer. Index of the treatment arm under study to perform inference on (vector of length 1). This arm is compared to the control group.
- alpha
Double. Significance level (one-sided). Default=0.025.
- ci
Logical. Indicates whether confidence intervals should be computed. Default=FALSE.
- ncc
Logical. Indicates whether to include non-concurrent data into the analysis. Default=TRUE.
- check
Logical. Indicates whether the input parameters should be checked by the function. Default=TRUE, unless the function is called by a simulation function, where the default is FALSE.
- ...
Further arguments passed by wrapper functions when running simulations.
Value
List containing the following elements regarding the results of comparing arm
to control:
p-val
- p-value (one-sided)treat_effect
- estimated treatment effect in terms of the difference in meanslower_ci
- lower limit of the (1-2*alpha
)*100% confidence intervalupper_ci
- upper limit of the (1-2*alpha
)*100% confidence intervalreject_h0
- indicator of whether the null hypothesis was rejected or not (p_val
<alpha
)model
- fitted model
Examples
trial_data <- datasim_cont(num_arms = 3, n_arm = 100, d = c(0, 100, 250),
theta = rep(0.25, 3), lambda = rep(0.15, 4), sigma = 1, trend = "linear")
mixmodel_cont(data = trial_data, arm = 3, ci = TRUE)
#> boundary (singular) fit: see help('isSingular')
#> Computing profile confidence intervals ...
#> Computing profile confidence intervals ...
#> $p_val
#> [1] 0.1622735
#>
#> $treat_effect
#> [1] 0.1205874
#>
#> $lower_ci
#> [1] -0.1185808
#>
#> $upper_ci
#> [1] 0.3597545
#>
#> $reject_h0
#> [1] FALSE
#>
#> $model
#> Linear mixed model fit by REML ['lmerModLmerTest']
#> Formula: response ~ as.factor(treatment) + (1 | period)
#> Data: data_new
#> REML criterion at convergence: 1425.146
#> Random effects:
#> Groups Name Std.Dev.
#> period (Intercept) 0.0000
#> Residual 0.9984
#> Number of obs: 500, groups: period, 4
#> Fixed Effects:
#> (Intercept) as.factor(treatment)1 as.factor(treatment)2
#> 0.1369 0.1680 0.1461
#> as.factor(treatment)3
#> 0.1206
#> optimizer (nloptwrap) convergence code: 0 (OK) ; 0 optimizer warnings; 1 lme4 warnings
#>