У меня есть некоторые данные here [в .txt файла], который я прочитал в кадре данных DF,Удалить выбросы полностью из нескольких сделанных с присуща рефлективными, вербального ggplot2 в R и отображения присущи рефлективные, вербальных расширенного формат
df <- read.table("data.txt", header=T,sep="\t")
I удалить отрицательные значения в столбце x
(так как мне нужно только положительные значения) на df
, используя следующий код,
yp <- subset(df, x>0)
Теперь я хочу построить несколько участков окна в том же слое. Сначала я расплавляю фрейм данных df
, и результат графика содержит несколько выбросов, как показано ниже.
# Melting data frame df
df_mlt <-melt(df, id=names(df)[1])
# plotting the boxplots
plt_wool <- ggplot(subset(df_mlt, value > 0), aes(x=ID1,y=value)) +
geom_boxplot(aes(color=factor(ID1))) +
scale_y_log10(breaks = trans_breaks("log10", function(x) 10^x), labels = trans_format("log10", math_format(10^.x))) +
theme_bw() +
theme(legend.text=element_text(size=14), legend.title=element_text(size=14))+
theme(axis.text=element_text(size=20)) +
theme(axis.title=element_text(size=20,face="bold")) +
labs(x = "x", y = "y",colour="legend") +
annotation_logticks(sides = "rl") +
theme(panel.grid.minor = element_blank()) +
guides(title.hjust=0.5) +
theme(plot.margin=unit(c(0,1,0,0),"mm"))
plt_wool
Теперь мне нужно иметь участок без каких-либо выбросов, поэтому сделать это первым, я вычислить нижнюю и верхнюю границу усов я использую следующий код, как было предложено here,
sts <- boxplot.stats(yp$x)$stats
Чтобы удалить выхлоп, я добавлю нижний нижний и нижний пределы усов, как показано ниже,
p1 = plt_wool + coord_cartesian(ylim = c(sts*1.05,sts/1.05))
Полученный график показан ниже, в то время как приведенная выше строка кода правильно удаляет большинство верхних выбросов, все нижние выбросы все еще остаются. Может кто-нибудь, пожалуйста, предложите, как полностью удалить весь выброс из этого участка, спасибо.
Отвлечение внимания в этом в противном случае хороший ответ –
Отличный ответ. Такое простое исправление, использующее outlier.colour = NA – Seanosapien