2013-08-16 39 views
5

我创建了一个bwplot {lattice},我希望它不显示异常值。下面是示例代码:删除bwplot中的异常值

m <- mtcars 

m$gear <- factor(m$gear) 
m$vs <- factor(m$vs) 
m$am <- factor(m$am) 

bwplot(drat ~ gear | am + vs, 
    data = m) 

回答

5

只需设置do.out=FALSE,像这样:

bwplot(drat ~ gear | am + vs, data = m, do.out = FALSE) 

临提示:这是常有用晶格绘图函数的情况下,该参数是在?panel.bwplot(向其bwplot()其传递的功能)记录的,而比在已经太长的可读性?bwplot中。

+0

在删除异常值后,您是否知道如何减小y轴的比例?我留下了很多空白。我一直在试图找到它,但坦率地说,它仍然与格子仍然失去了联系。谢谢 – Tania

+0

我可以弄清楚,但坦率地说,只是为了:(1)像上面那样运行'bwplot()'一次; (2)看看情节,决定你想要的y-限制是什么; (3)通过例如'ylim = c(2.5,4.5)'指定那些。 –

+0

如果您确实想要自动计算更合适的限制,您需要推出自己的“准备工作”功能,翻译“prepanel.default.bwplot()”中的内容。它需要以与panel.bwplot()相同的方式计算boxplot统计信息(最相关的位是:tapply(y,factor(x,levels = levels.fos),stats,coef = coef ,do.out = do.out)',其中'stats'实际上是'boxplot.stats'函数)。然后,它可以使用结果列表的组件来计算自定义预处理函数返回的列表的“ylim”片段。正如我所说,不容易! –

4

试试这个:

bwplot(drat ~ gear | am + vs,data = m, 
     par.settings=list(plot.symbol=list(pch=NA))) 

离群值符号通过plot.symbol控制,您通过par.settings得到。