2017-04-11 50 views
0
library(nlme) 
SeedID <- unique(Loblolly$Seed) 
set.seed(3) 
group1 = sample(SeedID, 7) 
group1_ind = which(Loblolly$group == 1) 
Loblolly$group = ifelse(Loblolly$Seed %in% group1, 1, 0) 

fm1 <- nlme(height ~ SSasymp(age, Asym, R0, lrc), 
      data = Loblolly, 
      fixed = Asym + R0 + lrc ~ 1, 
      random = Asym ~ 1, 
      start = c(Asym = 103, R0 = -8.5, lrc = -3.3)) 

stdRes = resid(fm1, type = "p") 
fitted = fitted(fm1) 
plot(stdRes ~ fitted) 
points(stdRes[group1_ind] ~ fitted[group1_ind], col = "blue") 

我有14不同Seed的数据集。我随机将它们分成两组(每组0或1个,每组7个种子)并适合一个模型。我绘制了组的残差(组0为黑色,组1为蓝色),看起来很好。 enter image description hereR:颜色编码模型诊断图

但我不知道如何在同一个图上按组对同一个QQ图进行颜色编码。

qqnorm(stdRes) 
points(qqnorm(stdRes[group1_ind]), col = "blue") 

回答

1

您可以捕获从值返回qqnorm(看不见的),然后使用这些提醒你点

dd <- as.data.frame(qqnorm(stdRes)) 
points(y~x, dd[group1_ind,], col = "blue") 
+0

感谢。只是为了澄清 - 这里的'y'和'x'是什么? – Adrian

+0

这些来自'qqnorm'返回的值。请参阅“qqnorm”帮助页面的“值”一节中的说明。 – MrFlick