2017-04-11 86 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