Вот обертка вокруг отличного решения @Marcus, для удобного использования и большей гибкости:

ужно сделать много коробок для будущей публикации. Я хотел бы использовать ggplot2, потому что я думаю, что он будет более гибким для будущих проектов, но мой PI настаивает на том, чтобы я делал эти графики в стиле base-R. Он специально хочет, чтобы пунктирные линии были похожи на предыдущие графики, которые мы сделали. Я сделал пример, используя набор данных iris, чтобы показать вам, используя этот код:

plot(iris$Species,
     iris$Sepal.Length,
     xlab='Species',
     ylab='Sepal Length',
     main='Sepal Variation Across Species',
     col='white')

Мой вопрос, как сделать похожий сюжет, используя ggplot2?

Вот моя попытка:

library("ggplot2")
ggplot(iris) +
  geom_boxplot(aes(x=Species,y=Sepal.Length),linetype="dashed") +
  ggtitle("Sepal Variation Across Species")

Мне нужно сочетание пунктирных и сплошных линий, но я не могу заставить что-либо работать. Я уже проверилhttps://stats.stackexchange.com/questions/8137/how-to-add-horizontal-lines-to-ggplot2-boxplot который очень очень близко, но не пунктирные линии, которые нам нужны. Также выбросы - это заполненные круги, которые не совпадают с base-R.

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

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