2013-08-16 4 views
5

Я создаю bwplot {решетка}, и я бы хотел, чтобы он не отображал выбросы. Вот пример код:удалить выбросы в 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) 

Pro совет: как это часто бывает с решеткой функций рисования, что аргумент документирован в ?panel.bwplot (функция, к которой bwplot() передает его), а чем в уже слишком длинном и слишком читаемом ?bwplot.

+0

Вы случайно знаете, как уменьшить масштаб оси y после удаления выбросов? У меня осталось много свободного места. Я пытался найти его, но, честно говоря, совсем потерял решетку. Спасибо – Tania

+0

Я мог бы понять это, но, откровенно говоря, вам будет проще просто: (1) запустить 'bwplot()' один раз, как указано выше; (2) взгляните на сюжет и решите, какими вы должны быть y-пределы; (3) указать их через, например, 'ylim = c (2.5, 4.5)'. –

+0

Если вы хотите автоматизировать вычисление более подходящих ограничений, вам нужно будет свернуть свою собственную функцию «prepanel», отменив то, что находится в 'prepanel.default.bwplot()'. Он должен будет вычислить статистику boxplot таким же образом, что 'panel.bwplot()' делает (наиболее важным битом является это: 'tapply (y, factor (x, levels = levels.fos), статистика, coef = coef , do.out = do.out) ', где' stats' действительно является функцией 'boxplot.stats'). Затем он мог бы использовать компоненты результирующего списка для вычисления куска 'ylim' списка, возвращаемого вашей пользовательской функцией prepanel. Как я уже сказал, нелегко! –

4

Попробуйте это:

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

останец символы управляется через plot.symbol, который вы получите через par.settings.

Смежные вопросы