【发布时间】:2017-10-17 16:55:30
【问题描述】:
library(nlme)
model <- nlme(height ~ (R0) + 1,
data = Loblolly,
fixed = list(R0 ~ 1),
random = list(Seed = pdDiag(list(R0 ~ 1))),
start = list(fixed = c(R0 = -8.5)))
这是一个只有 1 个固定效应参数的简单模型。这个模型很合适,但是当我想引入因子水平协变量(即年龄)时,我遇到了以下错误。
Loblolly$age2 <- as.factor(ifelse(Loblolly$age < 12.5, 0, 1))
model2 <- nlme(height ~ (R0 + age2) + 1,
data = Loblolly,
fixed = list(R0 ~ 1 + (age2)),
random = list(Seed = pdDiag(list(R0 ~ 1))),
start = list(fixed = c(R0 = -8.5, age2 = 1)))
Error in chol.default((value + t(value))/2) :
the leading minor of order 1 is not positive definite
In addition: Warning messages:
1: In Ops.factor(R0, age2) : ‘+’ not meaningful for factors
2: In Ops.factor(R0, age2) : ‘+’ not meaningful for factors
3: In Ops.factor(R0, age2) : ‘+’ not meaningful for factors
这似乎是一个语法错误,但我不确定如何修复它。
【问题讨论】:
-
您的示例中是否缺少某些内容?当我运行你的第一个块时,我得到:“eval 中的错误(predvars,data,env):找不到对象'组'”
-
我不这么认为?我尝试在新的 R 会话中运行,它工作正常。
-
很确定
group是Loblolly数据集中的一个变量 -
我得到同样的错误。
-
我检查了
?Loblolly。它只有 3 个变量:身高、年龄和种子。当我运行你的代码时,我得到了同样的错误,找不到对象“组”。