2013-08-16 27 views
5

Tôi đang tạo một {battice} bwplot và tôi muốn nó không hiển thị các ngoại lệ. Dưới đây là mã ví dụ:xóa các ngoại lệ trong 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) 

Trả lời

5

Chỉ cần thiết lập do.out=FALSE, như thế này:

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

Pro tip: như thường là trường hợp với lưới chức năng âm mưu, lập luận rằng được ghi chép lại trong ?panel.bwplot (chức năng mà bwplot() qua nó trên) chứ không phải so với trong số đã từng có sẵn để có thể đọc được ?bwplot.

+0

Bạn có biết cách giảm quy mô trục y sau khi tôi loại bỏ các ngoại lệ không? Tôi còn lại với rất nhiều không gian màu trắng. Tôi đã cố gắng để tìm nó, nhưng thẳng thắn khá mất với lưới vẫn còn. Cảm ơn – Tania

+0

Tôi có thể con số đó ra, nhưng thẳng thắn nó có lẽ sẽ dễ dàng hơn cho bạn chỉ để: (1) chạy 'bwplot()' một lần như trên; (2) hãy xem cốt truyện và quyết định bạn muốn giới hạn y là gì; (3) chỉ định những thông qua, ví dụ: 'ylim = c (2.5, 4.5)'. –

+0

Nếu bạn muốn tự động tính toán các giới hạn thích hợp hơn, bạn cần phải cuộn chức năng 'prepanel' của riêng bạn, riffing off của những gì trong 'prepanel.default.bwplot()'. Nó sẽ cần phải tính toán số liệu thống kê boxplot theo cùng một cách mà 'panel.bwplot()' làm (bit có liên quan nhất là: 'tapply (y, factor (x, levels = levels.fos), stats, coef = coef , do.out = do.out) ', trong đó' stats' thực sự là hàm 'boxplot.stats'). Sau đó nó có thể sử dụng các thành phần của danh sách kết quả để tính toán phần 'ylim' của danh sách được trả về bởi hàm prepanel tùy chỉnh của bạn. Như tôi đã nói, không dễ dàng! –

4

Hãy thử điều này:

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

Các outlier biểu tượng được kiểm soát thông qua plot.symbol, mà bạn có thể qua par.settings.