我正在r中绘制一个lme fit对象,并在图表上显示异常值id(studyID),但我想通过在绘图对象中查找它们来自动访问这些ID。我无法弄清楚如何做到这一点。我正在做很多分析,因此有助于能够自动执行此操作,而不是实际查看每个图表中的异常ID号。
以下是我正在做的简化示例:
fit <- lme(dv ~ studyID + Gender + Group * DOP, random=~1|studyID, cor=corSymm(), na.action="na.omit", method="ML", data=x$data)
require (car)
plotObject <- plot(fit, resid(., type = "p") ~ fitted(.) | Group*DOP, abline = 0, id=.05)
我想要做的是访问plotObject的一些属性,该属性存储用于识别图表中由绘图语句产生的异常值的id号。
谢谢。
答案 0 :(得分:7)
我不知道这些信息是否实际存储在绘图对象中,但是很容易计算自己。来自?plot.lme
:
id: an optional numeric value, or one-sided formula. If given as a value, it is used as a significance level for a two-sided outlier test for the standardized, or normalized residuals. Observations with absolute standardized (normalized) residuals greater than the 1 - value/2 quantile of the standard normal distribution are identified in the plot using ‘idLabels’.
所以我会说像
这样的东西library(nlme)
fm1 <- lme(distance ~ age, data = Orthodont) # random is ~ age
which(abs(residuals(fm1,type="normalized"))>qnorm(0.975))
## M09 M09 M13
## 34 35 49
plot(fm1,id=.05) ## for comparison
似乎可以解决问题。