M3M4模型比较"2016-10-21 11:22:10 CST"

"2016-10-21 11:22:10 CST"
上午对8801fs去掉hs的M3和M4做了模型比较,具体代码如下:

# --------
Sys.time()
# [1] "2016-10-21 08:26:31 CST"
setwd("D:/Sync/Dlm_wk/8801M3M4/data")

library(asreml)
pincalc<-dget("D:/Sync/R/pin.R")
options(digits = 3)
load("D:/Sync/Dlm_wk/8801M3M4/data/dlm.8801.RData")
str(df.rm.self)
# 'data.frame': 1251 obs. of  26 variables:
#   $ TreeId : int  3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 ...
# $ Mum    : Factor w/ 12 levels "1","2","3","4",..: 10 10 10 10 10 10 10 10 10 10 ...
# $ Dad    : Factor w/ 12 levels "1","2","3","4",..: 7 7 7 7 7 7 7 7 7 7 ...
# $ Com    : chr  "107" "107" "107" "107" ...
# $ Comb   : Factor w/ 38 levels "CF29RC13","CF29RC402",..: 29 29 29 29 29 29 29 29 29 29 ...
# $ Dr     : Factor w/ 3 levels "-1","0","1": 3 3 3 3 3 3 3 3 3 3 ...
# $ Tree   : int  NA 123 NA 107 NA 120 104 122 118 121 ...
# $ Fam    : int  84 84 84 84 84 84 84 84 84 84 ...
# $ Rep    : int  1 1 1 1 1 1 1 1 1 1 ...
# $ Row    : int  41 41 41 42 42 42 43 43 44 44 ...
# $ Col    : int  52 53 55 51 54 55 52 54 51 53 ...
# $ Plot   : Factor w/ 250 levels "","1CHaoF29Y11",..: 42 42 42 42 42 42 42 42 42 42 ...
# $ h05    : num  15.5 15 15.5 16.5 17.5 15.8 17.2 17.2 15.5 16.1 ...
# $ d05    : num  14.5 16 13 13.3 13.4 14.7 18.3 17.3 14.5 14.8 ...
# $ v05    : num  0.326 0.384 0.262 0.292 0.314 ...
# $ h14    : num  NA 19.9 NA 20.7 NA 20.8 23.2 23.1 19.2 21.6 ...
# $ d14    : num  NA 20.2 NA 15.9 NA 19.1 23.1 24 17.1 17.4 ...
# $ v14    : num  NA 0.812 NA 0.523 NA ...
# $ delta.h: num  NA 4.9 NA 4.2 NA 5 6 5.9 3.7 5.5 ...
# $ delta.d: num  NA 4.2 NA 2.6 NA 4.4 4.8 6.7 2.6 2.6 ...
# $ delta.v: num  NA 0.428 NA 0.231 NA ...
# $ dr     : num  1 1 1 1 1 1 1 1 1 1 ...
# $ d1     : num  1 1 1 1 1 1 1 1 1 1 ...
# $ d2     : num  0 0 0 0 0 0 0 0 0 0 ...
# $ check  : Factor w/ 1 level "1": 1 1 1 1 1 1 1 1 1 1 ...
# $ l      : chr  "0" "0" "0" "0" ...
df.rm.self$Com<-factor(df.rm.self$Com)
df.rm.self$dr<-factor(df.rm.self$dr)
X<-names(df.rm.self) [13:21]<-c("H05","DBH05","V05","H14","DBH14","V14","HI","DI","VI")
# dlm.asreml <- function(df) {
  # names(data)
  # [1] "TreeId" "Mum"    "Dad"    "Com"    "Comb"   "Dr"     "Tree"   "Fam"    "Rep"   
  # [10] "Row"    "Col"    "Plot"   "H05"    "DBH05"  "V05"    "H14"    "DBH14"  "V14"   
  # [19] "HI"     "DI"     "VI"     "dr"     "d1"     "d2"     "check"  "l" 
bv<-matrix(nrow=nrow(bv.i),ncol=length(X)) # create an empty matrix for bv

for (i in 1:length(X)){
    data.i<-df.rm.self[, X[i]]
    df<-df.rm.self
    fix.only <- asreml(data.i~1+Rep,data = df,
                     na.method.X='include')
    fix.gca <- asreml(data.i~1+Rep, data=df,
                 random = ~ Mum+ and(Dad), # + Comb + Comb:Dr+Plot,
                 na.method.X='include')
    fix.gca.com <- asreml(data.i~1+Rep, data=df,
                 random = ~ Mum+ and(Dad)+ Com, # + Comb:Dr+Plot,
                 na.method.X='include')
    fix.gca.com.recip <- asreml(data.i~1+Rep, data=df,
                 random = ~ Mum+ and(Dad)+ Com + Com:dr, # +Plot,
                 na.method.X='include')
    full <- asreml(data.i~1+Rep, data=df,
                 random = ~ Mum+ and(Dad)+ Com + Com:dr+Plot,
                 na.method.X='include')
    # save wald
    w<-wald(full)
    names(w)[1]<-X[i]
    write.table(w,"wald.csv",sep=',',quote=F,append=T)
    # save lrt
    a<-lrt(fix.only, fix.gca, fix.gca.com, fix.gca.com.recip, full)
    # str(a)
    names(a)[1]<-X[i]
    write.table(a,"lrt.csv",sep=',',quote=F,append=T)
    # save fitted plot
    # plot.name<-paste0(X[i],"fit.wmf")
    # win.metafile(plot.name,5,5,pointsize = 16,family = "serif")
    # # par(mar=c(.1,.1,.1,.1))
    # plot(full,main=X[i])
    # dev.off()
    # save variance
    var.i<-summary(full)$varcomp
    names(var.i)[1]<-X[i]
    write.table(var.i,file="var.csv",sep=",",quote=F,append=T)
    # save random effects
    bv.i<-coef(full)$random
    bv.i<-as.data.frame(bv.i)
    # names(bv.i)[1]<-X[i]
    # head(bv.i)
    bv[,i]<- bv.i$effect
    # bv<-as.matrix(bv)
    # save h2
    hi2<-pincalc(full, h2 ~ 4*V1/(2*V1 + V2 + V3+ V4+V5))   ###Narrow-sense heritability
    names(hi2)[1]<-X[i]
    H2<-pincalc(full, h2 ~ 4*(V1+V2)/(2*V1 + V2 + V3+ V4+V5))   ###broad-sense heritability
    write.table(hi2,file="h2.csv",sep=",",quote=F,append=T)
    write.table(H2,file="h2.csv",sep=",",quote=F,append=T)
  }
colnames(bv)<-X
rownames(bv)<-rownames(bv.i)
write.table(bv,"bv.csv",sep = ',')

# ---M4-1
df.rm.self.M4.1<-df.rm.self[df.rm.self$dr==1,]
df.rm.self.M4.2<-df.rm.self[df.rm.self$dr!=1,]
bv<-matrix(nrow=nrow(bv.i),ncol=length(X)) # create an empty matrix for bv
for (i in 1:length(X)){
  data.i<-df.rm.self.M4.1[, X[i]]
  df<-df.rm.self.M4.1
  fix.only <- asreml(data.i~1+Rep,data = df,
                     na.method.X='include')
  fix.gca <- asreml(data.i~1+Rep, data=df,
                    random = ~ Mum+ and(Dad), # + Comb + Comb:Dr+Plot,
                    na.method.X='include')
  fix.gca.com <- asreml(data.i~1+Rep, data=df,
                        random = ~ Mum+ and(Dad)+ Com, # + Comb:Dr+Plot,
                        na.method.X='include')
  fix.gca.com.recip <- asreml(data.i~1+Rep, data=df,
                              random = ~ Mum+ and(Dad)+ Com + Com:dr, # +Plot,
                              na.method.X='include')
  full <- asreml(data.i~1+Rep, data=df,
                 random = ~ Mum+ and(Dad)+ Com + Com:dr+Plot,
                 na.method.X='include')
  # save wald
  w<-wald(full)
  names(w)[1]<-X[i]
  write.table(w,"wald.csv",sep=',',quote=F,append=T)
  # save lrt
  a<-lrt(fix.only, fix.gca, fix.gca.com, fix.gca.com.recip, full)
  # str(a)
  names(a)[1]<-X[i]
  write.table(a,"lrt.csv",sep=',',quote=F,append=T)
  # save fitted plot
  plot.name<-paste0(X[i],"fit.wmf")
  win.metafile(plot.name,5,5,pointsize = 16,family = "serif")
  # par(mar=c(.1,.1,.1,.1))
  plot(full,main=X[i])
  dev.off()
  # save variance
  var.i<-summary(full)$varcomp
  names(var.i)[1]<-X[i]
  write.table(var.i,file="var.csv",sep=",",quote=F,append=T)
  # save random effects
  bv.i<-coef(full)$random
  bv.i<-as.data.frame(bv.i)
  # names(bv.i)[1]<-X[i]
  # head(bv.i)
  bv[,i]<- bv.i$effect
  # bv<-as.matrix(bv)
  # save h2
  hi2<-pincalc(full, h2 ~ 4*V1/(2*V1 + V2 + V3+ V4+V5))   ###Narrow-sense heritability
  names(hi2)[1]<-X[i]
  H2<-pincalc(full, h2 ~ 4*(V1+V2)/(2*V1 + V2 + V3+ V4+V5))   ###broad-sense heritability
  write.table(hi2,file="h2.csv",sep=",",quote=F,append=T)
  write.table(H2,file="h2.csv",sep=",",quote=F,append=T)
}
colnames(bv)<-X
rownames(bv)<-rownames(bv.i)
write.table(bv,"bv.csv",sep = ',')
save(df.rm.self,df.rm.self.M4.1,df.rm.self.M4.2,file = "8801.m3.m4.rdata")
Sys.time()
# [1] "2016-10-21 11:22:10 CST"
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容

  • 曾经有一份美好的爱情放在我的面前我没有珍惜。等到失去后才后悔莫及。如果可以再对小李说。毛欣想说。这辈子无缘再牵手。...
    毛欣与小李阅读 2,560评论 0 13
  • 硬派健身 摘要 自序 与更好的自己,在未来重逢。 2016-10-11 13:34:10 是谁说运动一定要持续40...
    夜上海滩阅读 9,980评论 0 50
  • 4月28号第一天下午2:30从学校出发! 路书:上海奉贤—嘉兴(80km) 下图达哥(累计压过2000km公路的老...
    何日君leslie阅读 304评论 3 2
  • If you never leave me, I will be with you till death do u...
    一念归远阅读 172评论 0 0
  • 少眠的夜晚,漫天的繁星。身边和远方的人们,一切安好! 姐姐和姐夫生气了,我也只能无能为力的说些大道理!其实道理谁都...
    llzzd阅读 178评论 0 1