admin管理员组

文章数量:1654292

Warning 复现

今天有同学问<R语言实战>中 P185 influencePlot() 函数不能正确的识别点的问题。有些点可以选择,大部分的都是如下的警告。

#优美的实例代码
library(car)
library(MASS)
states <- as.data.frame(state.x77[,c("Murder", "Population", "Illiteracy", "Income", "Frost")])
fit <- lm(Murder~Population+Illiteracy+Income+Frost,
         data = states)
par(mfrow=c(1,1))
influencePlot(fit, id.method = "identify",main="Influence plot",
              sub="circle size is proportional to cook's distance")
#令人恼怒的warning
> influencePlot(fit,id=list(method="identify"),main="Influence plot",
+               sub="circle size is proportional to cook's distance")
警告: 没有点在0.25英尺内
警告: 没有点在0.25英尺内
警告: 没有点在0.25英尺内
警告: 没有点在0.25英尺内
警告: 没有点在0.25英尺内

太长不看版

  • 用R GUI画图。
  • 画图前先运行 win.graph()。

原因详解

Rstudio 本身的问题

直接在Rstudio中使用这个功能往往会遇见这个无法识别 的warning,这可能跟Rstudio本身有关。

car包进行了更新

新版本没有 id.method = "identify"这样的写法了,取而代之的是id=list(method="identify")。《R语言实战》上有些函数的用法已经过时,可以利用help()去查看函数的最新用法。

解决方法

  • 既然Rstudio不能用,回归原始的R GUI也是一项不错的选择。
  • 那么我就是要用Rstudio呢?可以利用win.graph()打开绘图设备,在其中绘图标记离群点位便可。

本文标签: 报错系列idinfluencePlotidentify