我的数据集包括对70个人的治疗开始和结束时的数字评分(“参与”)的两个观察结果。个人之间的时间并不是一成不变的,但对这些时间进行目视检查显示,大部分人在这段时间内都会上升
sfa <- read.csv("SFAFinalData.csv", header = TRUE)
groupingFormula <- as.formula(paste(columnName,"~ TIME|ID"))
dataSubset <- na.omit(sfa[,seq(1:6)])
inputData <- groupedData(groupingFormula, data=dataSubset, labels = list("Weeks post injury", columnName))
m1 <- lme(inputData)
按预期工作
> m1
Linear mixed-effects model fit by REML
Data: inputData
Log-restricted-likelihood: -631.7963
Fixed: Participation ~ TIME
(Intercept) TIME
18.7616485 0.4220891
Random effects:
Formula: ~TIME | ID
Structure: General positive-definite
StdDev Corr
(Intercept) 15.4985010 (Intr)
TIME 0.2192035 1
Residual 13.2272350
Number of Observations: 140
Number of Groups: 70
我现在试图将分析(即参与作为时间的函数)与三个子组中的每一个进行比较(“类型”:三个级别的因子分别为10,29和31个人)但是
m2 <- update(m1, fixed = .~.*TYPE)
导致错误
Warning message:
In lme.formula(fixed = Participation ~ TYPE, data = inputData) :
Fewer observations than random effects in all level 1 groups
苦苦挣扎,看看我在这里做错了什么:据我所知,我有足够的观察结果?
答案 0 :(得分:2)
尽量不要使用groupedData。我知道,书中的例子经常使用它,但我发现它是lme中最令人困惑的部分。并避免。在公式中,它可能非常贪婪可能导致错误消息的类型。
经过大量的猜测(请至少发帖str(sfa)),我认为你需要这样的东西:
sfa <- read.csv("SFAFinalData.csv", header = TRUE)
# No grouped Data!
lme(Participation~TIME*TYPE,random=~1|ID,data=sfa)