Точка с ошибками, две серии, легкое дрожание

У меня есть сбор данных за несколько исследований. Для каждого исследования меня интересует среднее значение переменной по полу, и существенно ли это отличается. Для каждого исследования у меня есть среднее и 95% доверительные интервалы для мужчин и женщин.

Я хотел бы сделать что-то похожее на это:

Я использовал несколько разновидностей дотплотов (дотплот, дотплот2, дотплот), но не совсем понял.

С помощьюDotplot изHmisc Мне удалось получить одну серию и ее панели ошибок, но я не знаю, как добавить вторую серию.

я использовалDotplot и получил вертикальное окончание панели ошибок, следуя советуВот.

Вот рабочий пример кода, который я использую

data<-data.frame(ID=c("Study1","Study2","Study3"),avgm=c(2,3,3.5),avgf=c(2.5,3.3,4))
data$lowerm <- data$avgm*0.9 
data$upperm <- data$avgm*1.1
data$lowerf <- data$avgf*0.9
data$upperf <- data$avgf*1.1

# Create the customized panel function
mypanel.Dotplot <- function(x, y, ...) {
  panel.Dotplot(x,y,...)
  tips <- attr(x, "other")
  panel.arrows(x0 = tips[,1], y0 = y, 
               x1 = tips[,2], y1 = y, 
               length = 0.05, unit = "native",
               angle = 90, code = 3)
}

library(Hmisc)
Dotplot(data$ID ~ Cbind(data$avgm,data$lowerm,data$upperm), col="blue", pch=20, panel = mypanel.Dotplot,
        xlab="measure",ylab="study")

При этом отображаются три столбца данных: среднее для мужчин (avgm), а также нижняя и верхняя границы 95% -ного доверительного интервала (нижняя и верхняя). У меня есть три другие серии для тех же исследований, которые выполняют ту же работу для женщин (avgf, lowerf, upperf).

Результаты у меня выглядят так:

Чего не хватает, в двух словах:

добавление второй серии (avgf) со средними и доверительными интервалами, определенными по трем другим переменным для тех же исследований

добавление вертикального дрожания, чтобы они не располагались друг над другом, а читатель мог видеть оба, даже если они перекрываются.

Ответы на вопрос(1)

Ваш ответ на вопрос