Все доброго времени суток!
Нужно сделать боксплот, но такой, чтобы горизонтальной линией показывалась не медиана, а среднее.
Подскажите, пожалуйста, где искать функцию.
Боксплот
- Dryomys
- Интересующийся
- Сообщения: 32
- Зарегистрирован: 24 ноя 2010, 12:41
- Репутация: 3
- Откуда: Пущино
-
- Гуру
- Сообщения: 4057
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1054
- Ваше звание: программист
- Откуда: Казань
Re: Боксплот
boxplot() штука регламентированная, рисует то, что положено. Если нужно что-то свое вместо, возьмите исходник, переделайте и запишите свою функцию под новым именем.Dryomys писал(а):Все доброго времени суток!
Нужно сделать боксплот, но такой, чтобы горизонтальной линией показывалась не медиана, а среднее.
Подскажите, пожалуйста, где искать функцию.
Внутри используется boxplot.stats(), которая возвращает (среди прочего) медиану, замените на среднее или переделайте заодно и boxplot.stats() на свое под другим именем.
-
- Завсегдатай
- Сообщения: 386
- Зарегистрирован: 07 фев 2004, 14:31
- Репутация: 7
- Откуда: Лозанна
- Контактная информация:
Re: Боксплот
Код: Выделить всё
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)
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 12 гостей