R sommer v 4.1.1 中的预测函数

predict function in R sommer v 4.1.1

在最新版本的 sommer 包中,对预测功能进行了一些调整,不幸的是,我在最新版本中遇到了问题。

如果我没有指定任何分类变量:

predict.mmer(模型h) strsplit(classify, ":") 错误:非字符参数

predict.mmer(modelh, classify = "GEN") [.data.frame(object$dataOriginal, c(colnames(DTX), ignored, 中的错误: 选择了未定义的列

我的模型是这样的:

mmer(数据=数据,固定=值~1, 随机 = ~ GEN + ROWf + COLf + spl2D(ROW,COL), rcov = ~vs(units))

进一步的问题:在上面的模型中,我在 model$fitted 向量中得到了所有相同的值,等于截距。据我了解,拟合值还应包括随机效应,如 GEN、ROWf、...。我是不是误会了什么?

感谢任何建议, 最好的问候,赫尔曼

从 4.1.1 版本开始,预测函数不再用于获取拟合值,而是用于获取特定分类参数的调整均值。因此不能跳过classify参数。

如果您现在需要拟合值,fitted() 函数应该 return 您正在寻找的值。

现在,使用分类的问题必须来自在 vs() 函数之外使用 spl2D() 函数。您可能想从 GitHub 下载最新版本(版本 4.1.2)并尝试:

mix <- mmer(data = data, fixed = value ~ 1 , random = ~ GEN + ROWf + COLf + vs(spl2D(ROW,COL)), rcov = ~vs(units))

并使用:

pp=predict.mmer(modelh, classify = "GEN")

对于模型中所有 GEN 的调整均值,使用模型中的特定项进行平均和分类集,并且

ff=fitted.mmer(modelh)

如果您想要观测值的拟合值。

干杯, 爱德华多

谢谢 Eduardo,与 4.1.2 完美配合。

还有一个问题。我想知道残差的定义。似乎 mmer 将残差计算为“残差 = 响应 - 固定”,而不是忽略随机效应的“残差 = 响应 - 固定 - 随机”,无论是从模型框架调用残差还是使用残差函数。我这边是不是有什么误会?

干杯赫尔曼