带有asreml包的R:为多变量模型设置关键字,但它只是保留关键字是一种"object not found"



我使用的是一个在线练习教程中的数据集,代码可以在第7页的底部找到(https://tomhouslay.files.wordpress.com/2017/02/indivvar_mv_tutorial_asreml.pdf)

在教程中,他们表示他们正在引入";特征";作为表示多元模型的关键字,但当我运行完全相同的代码时,我会得到以下结果:

eval中出错(parse(text=x(,envir=data,enclos=asreml4Env(:找不到对象"trait"。

haggis实践csv文件可以从这里下载:https://figshare.com/articles/Haggis_data_behavioural_syndromes/4702540

这是教程提供的代码,asreml函数有什么变化吗?

asr_E_B_us <- asreml(cbind(scale(exploration),
scale(boldness)) ~ trait + 
trait:scale(assay_rep, scale = FALSE) + 
trait:scale(body_size), 
random =~ ID:us(trait, init = c(1, 
0.1,1)), 
residual =~ units:us(trait, init = c(0.1, 
0.1,0.1)), 
data = HData, 
maxiter = 100)

当您尝试在函数中使用scale时,asreml函数会变得混乱。首先进行缩放(还需要将ID作为一个因子(。然后调用asreml

HData <- read.csv("syndrome.csv")
head(HData)
ID assay_rep boldness exploration fitness body_size
1 S_1         1    18.57       39.74      39     21.72
2 S_1         2    18.32       39.41      NA     21.55
3 S_1         3    20.33       40.16      NA     21.34
4 S_1         4    19.40       40.29      NA     20.78
5 S_2         1    20.70       39.47      56     25.71
6 S_2         2    18.60       40.12      NA     26.43
HData <- transform(HData, exploration=scale(exploration), boldness=scale(boldness),
ID = factor(ID))
asr_E_B_us <- asreml(cbind(exploration, boldness) ~ trait + 
trait:scale(assay_rep, scale = FALSE) + 
trait:scale(body_size), 
random =~ ID:us(trait, init = c(1, 0.1,1)), 
residual =~ units:us(trait, init = c(0.1, 0.1,0.1)), 
data = HData, 
maxiter = 100)

相关内容

  • 没有找到相关文章

最新更新