library(BGLR) #载入BGLR包
nIter=2000
#### number of iteration设置迭代次数
burnIn=500
#### burnin a part of iteration设置去掉的迭代次数,也就是说这里迭代2000次,去掉500次,用筛选到的1500次作为计算结果
set.seed(99164)
myG <- read.table("RHhmp.txt", header = F, comment.char = "")
myY <- read.table("MATrait3.txt", header = T)
myGAPIT <- GAPIT(G=myG, output.numerical=TRUE,file.output =FALSE)
myGD= myGAPIT$GD #标记哑变量
myGM= myGAPIT$GM
G<-as.matrix.data.frame(myGD[,-1]-1)
X=scale(G)/sqrt(ncol(G))
testing=sample(n,round(n/5),replace=F) #设置20%的个体为试验群体
training=-testing #设置80%的群体为建模群体
y.trn <- myY
myY_train <- myY[training,1] #提取建模群体的表型值
myY_test <- myY[testing,1]
y.trn$X2022NY[testing]<-NA
y<-myY[,1]
fm1=BGLR( y=y,ETA=list(mrk=list(X=X,model='BRR')),
nIter=nIter,burnIn=burnIn,saveAt='brr_'
)
pred=predict(fm1)
pred.inf=pred[testing]
accuracy <- cor(myY[testing,1],pred.inf)