Страница 1 из 1

Боксплот

Добавлено: 14 мар 2014, 16:24
Dryomys
Все доброго времени суток!
Нужно сделать боксплот, но такой, чтобы горизонтальной линией показывалась не медиана, а среднее.
Подскажите, пожалуйста, где искать функцию.

Re: Боксплот

Добавлено: 14 мар 2014, 17:29
gamm
Dryomys писал(а):Все доброго времени суток!
Нужно сделать боксплот, но такой, чтобы горизонтальной линией показывалась не медиана, а среднее.
Подскажите, пожалуйста, где искать функцию.
boxplot() штука регламентированная, рисует то, что положено. Если нужно что-то свое вместо, возьмите исходник, переделайте и запишите свою функцию под новым именем.

Внутри используется boxplot.stats(), которая возвращает (среди прочего) медиану, замените на среднее или переделайте заодно и boxplot.stats() на свое под другим именем.

Re: Боксплот

Добавлено: 14 мар 2014, 17:45
Анна

Код: Выделить всё

boxplot(var ~ groups, pars = list(medlty = "blank", boxwex = 0.5))
means <- tapply(var,groups,mean)
mean.line<-function(i){
	xx<-c(i[1]-0.5/2,i[1]+0.5/2)
	yy<-c(i[2],i[2])
	lines(xx,yy,col="red")
}
apply(cbind(1:length(means),means), 1, FUN=mean.line)