Получение средних значений сгруппированных столбцов в функции решетчатой ​​гистограммы

Я пытаюсь выяснить, как определить значения средних точек сгруппированных столбцов, т. е. фактическое положение X центра каждого столбца. Это легко сделать в базовой функции R barplot, однако я хотел бы иметь возможность сделать это в решетке barchart. Моя цель - отобразить значения текстового столбца поверх соответствующей панели.

Приведенный ниже код позволяет мне размещать текст поверх полос, если я не использую подгруппы. Я пробовал искать в Интернете решение, но ничего не работает. Как видно из графика, средние точки определены только для центра всей группы.

Спасибо!

library(lattice)

test= data.frame(
  group=c("WK 1", "WK 1", "WK 1",  "WK 2", "WK 2", "WK 2", "WK 3", "WK 3", "WK 3"),
  subgroup=c(1,2,3,1,2,3,1,2,3) ,
  percent=c(60,50,80,55,56,65,77,65,86),
  text=c("n=33", "n=37","n=39","n=25","n=27","n=22","n=13","n=16","n=11")
  )

barchart(data=test, 
         percent~group,
         groups=subgroup,

            panel = function(x,y,...){
              panel.barchart(x, y,...)
              panel.text( x=unique(test$group), 
                          y=test$percent, 
                          label=unique(test$text) 
                          )

            }
         )

enter image description here

7
задан rawr 18 October 2016 в 20:06
поделиться