2013-08-16 15 views
5

Tworzę bwplot {krata} i chciałbym, żeby nie wyświetlał wartości odstających. Oto przykładowy kod:usunąć wartości odstające w 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) 

Odpowiedz

5

Wystarczy ustawić do.out=FALSE, tak:

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

Pro wskazówka: jak to często bywa z kratowych funkcji kreślenia, że ​​argument ten jest udokumentowany w ?panel.bwplot (funkcja, do której bwplot() przekazuje je), a niż w tym, który jest już zbyt długi, aby można go było odczytać: ?bwplot.

+0

Czy wiesz, jak zmniejszyć skalę osi Y po usunięciu wartości odstających? Pozostało mi dużo białej przestrzeni. Próbowałem go znaleźć, ale szczerze mówiąc całkiem straciłem z kratownicą. Dzięki – Tania

+0

Mogłem to rozgryźć, ale prawdę mówiąc prawdopodobnie łatwiej będzie Ci: (1) uruchomić 'bwplot()' raz jak wyżej; (2) spójrz na fabułę i zdecyduj, na czym chcesz się opierać; (3) określ je za pomocą np. 'Ylim = c (2.5, 4.5)'. –

+0

Jeśli chcesz zautomatyzować obliczanie bardziej odpowiednich limitów, musisz rzucić własną "prepanelową" funkcję, riffując z tego, co znajduje się w 'prepanel.default.bwplot()'. Musiałby obliczyć statystyki boxplot w taki sam sposób jak robi to 'panel.bwplot()' (najważniejszym bitem jest to: 'tapply (y, factor (x, levels = levels.fos), stats, coef = coef , do.out = do.out) ', gdzie' stats' jest tak naprawdę funkcją 'boxplot.stats'). Następnie może użyć składników wynikowej listy do obliczenia fragmentu 'ylim' zwracanego przez twoją niestandardową funkcję prepanelu. Jak już powiedziałem, nie jest to łatwe! –

4

Spróbuj tego:

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

poboczna symbole są kontrolowane przez plot.symbol, którą otrzymuje się poprzez par.settings.

Powiązane problemy