我在15次训练之前(PRE)和之后(POST)收集了因变量(肌肉力量)。每节课分为2种不同类型的培训(A型和B型)。 我想调查一下我的因变量在PRE-POST和控制两个协变量(连续变量)并使用受试者作为随机效应的训练类型(类型A和类型B)中是否存在差异。 我的问题如下:虽然协变量A(受试者的健康状况)影响PRE和POST中的因变量,但协变量B(会话训练负荷)仅影响POST时的因变量。因此,在我的数据集中,PRE的协变量B为空。
这里是我的变量的描述: 因变量:DV(肌肉力量) 自变量:练习类型(2级:A型和B型) 自变量:时间(2个级别:PRE和POST) 协变量A:连续变量(幸福感) 协变量B:连续变量(会话训练负荷) ID:主题
我正在尝试使用R和lme4拟合混合效果模型,但是我对混合模型的使用不熟悉。我的模型如下:
Model = lmer (DV~ Time * Type + (Covariate A)+( Covariate B)+(1|subject1) , data=dataset)
数据集如下:
ID Session Time Type Covariate A Covariate B DV
Sub1 n1 PRE A 10 120
sub1 n1 POST A 10 5 115
sub1 n2 PRE B 14 122
sub1 n2 POST B 14 6 124
sub1 n3 PRE A 12 123
sub1 n3 POST A 12 7 119
sub1 n4 PRE B 9 118
sub1 n4 POST B 9 8 120
… … … … … … …
但是,当我使用该数据库运行模型时,出现以下错误:
contrasts<-(*tmp*, value = contr.funs[1 + isOF[nn]]) : contrasts can be applied only to factors with 2 or more level
秒内出错。
另外,如果我使用以下数据集运行分析,则该模型有效。但是,我知道协变量B不会影响PRE中的DV。因此,将协变量B的值应用于PRE的观测值是不合逻辑的。
ID Session Time Type Covariate A Covariate B DV
Sub1 n1 PRE A 10 5 120
sub1 n1 POST A 10 5 115
sub1 n2 PRE B 14 6 122
sub1 n2 POST B 14 6 124
sub1 n3 PRE A 12 7 123
sub1 n3 POST A 12 7 119
sub1 n4 PRE B 9 8 118
sub1 n4 POST B 9 8 120
… … … … … … …
如何考虑这一方面来组织数据库?
根据建议,您可以在此处找到可以运行的示例:drive.google.com/open?id=1h1F_ITZmmCN5sNKtMsETM2yakx3Kjmn0
模型1:正确的模型,其中CovariateB(会话训练负荷)仅影响POST时的因变量。
模型2:错误的模型,其中在PRE和POST中都报告了CovariateB_2(会话训练负荷)。
R脚本:
library(lme4)
library(lmerTest)
library(emmeans)
library(readxl)
dataset = read_excel("$$:/$$$/$$/$$.xlsx", sheet = NULL, range = NULL, col_names = TRUE)
dataset$Time <- as.factor(dataset$Time)
dataset$Type <- as.factor(dataset$Type)
dataset$Subject <- as.factor(dataset$Subject)
Model_1 = lmer(((DV)) ~ Time*Type+(CovariateA)+(CovariateB)+(1|Subject), data=dataset, REML=FALSE);
Model_2 = lmer(((DV)) ~ Time*Type+(CovariateA)+(CovariateB_2)+(1|Subject), data=dataset, REML=FALSE);