在最新版本的sommer软件包中,对预测功能进行了一些调整,不幸的是,我在最新版本中遇到了问题。
如果我没有指定任何分类变量:
strsplit(分类,":")中出现predict.mmer(modelh)错误:非字符参数
Predict.mmer(模型H,分类= "GEN")在[.data.frame
中出现错误(对象$dataOriginal,,c(列名称(DTX),已忽略,:未定义的列已选定
我的模型是这样的:
mmer(data = data,fixed =值~1,random =~ GEN + ROWf + COLf +spl2D(行,列),rcov =~vs(单位))
进一步的问题:在上面的模型中,我在模型$fitted向量中得到了所有相同的值,它等于截距。据我所知,拟合值还应该包括随机效果,如GEN,ROWf,...。我是不是误解了什么?
感谢您的建议,向您致以最良好的敬意,赫尔曼
发布于 2020-10-01 17:10:52
自4.1.1版本以来,不再使用预测函数来获得拟合值,而是为特定的分类参数获得调整后的均值。因此,不能跳过分类参数。
如果您现在需要拟合的值,for ()函数应该会返回您正在寻找的值。
现在,使用分类的问题肯定来自于在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)
如果您想要拟合值作为观测值。
干杯,爱德华多
发布于 2020-10-01 18:38:29
谢谢你,Eduardo,在4.1.2下工作得很好。
不过,还有一个问题。我想知道残差的定义。似乎mmer计算残差的方式是"residuals = response - fixed",而不是忽略随机效应的"residuals = response - fixed - random“,无论是从模型框架调用残差还是使用residuals函数。我这方面是不是有误会?
干杯赫尔曼
https://stackoverflow.com/questions/64151213
复制相似问题