РЕДАКТИРОВАТЬ: добавлен маленький df.
У меня есть небольшой набор данных, называемый benthic_data
некоторых индексов беспозвоночных c (только один показатель c включен ниже).
Site <- c('S-7','S-7','S-7','S-7','S-7','S-27','S-27','S-27','S-27','S-27')
Sample <- c('S-7-1','S-7-2','S-7-3','S-7-4','S-7-5','S-27-1','S-27-2','S-27-3','S-27-4','S-27-5')
Abundance <- c(310, 316, 361,317, 321,108, 173, 189, 229, 210)
benthic_data <- data.frame(Site, Sample, Abundance)
Я сделал выборку данных в качестве фактора и хотел бы сгенерировать цифру, которая имеет одну точку для каждой выборки, за которой следует среднее значение (со стандартными отклонениями) для каждого участка.
benthic_data$Sample = factor(benthic_data$Sample, levels=c('S-7-1', 'S-7-2','S-7-3','S-7-4','S-7-5','S-27-1','S-27-2','S-27-3','S-27-4', 'S-27-5'))
Базовый c участок сайтов и их соответствующее значение численности работает отлично (я сделаю фигуру красивее позже):
ggplot(benthic_data, aes(x=Sample, y=Abundance, fill=Site))+
geom_point(data = benthic_data, size = 4.0, colour="black", shape=21, show.legend = F)+
scale_fill_manual(values = c("darkgreen", "orangered3"))
Чтобы рассчитать среднее значение и SD для каждого сайта, я использовал следующий код для того, чтобы попытаться учесть каждый сайт, и я также хочу, чтобы средняя / sd точка для каждого сайта была помечена как S-7 Mean и S -27 Среднее, соответственно.
benthic_summary<- as.data.frame(benthic_data) %>%
group_by(Site) %>%
summarize(mean=mean(Abundance, na.rm=T),
sd=sd(Abundance, na.rm=T))
benthic_summary$Site = revalue(benthic_summary$Site, c("S-7" = "S-7 Mean","S-27"="S-27 Mean"))
benthic_summary$Site <- factor(benthic_summary$Site, levels= c("S-7 Mean","S-27 Mean"))
Теперь, чтобы объединить 5 баллов для каждого сайта плюс среднее значение / sd для каждого сайта, я использовал geom_pointrange со следующим кодом, но я добавил еще два цвета в scale_fill_manual, потому что Я получил это сообщение об ошибке: Ошибка: недостаточно значений в ручном масштабе. Требуется 4, но только 2.
Итак, этот код работает нормально, КРОМЕ, сначала мне нужно иметь образцы S-7 (это исходный сайт), затем образцы S-27 и легенда: t отражает соответствующий цвет сайта.
Участок S-7 должен быть зеленого цвета, а участок S-27 должен быть оранжевого цвета.
AEMP_cols=c("darkgreen", "orangered3")
ggplot(benthic_data, aes(x=Sample, y=Abundance, fill=Site))+
geom_point(data = benthic_data, size = 4.0, colour="black", shape=21, show.legend = F)+
scale_fill_manual(values = c("darkgreen","darkgreen", "orangered3", "orangered3"))+
geom_pointrange(data = benthic_summary, aes(x = Site, y=mean, ymin=mean-sd, ymax=mean+sd), colour = AEMP_cols, size =1, shape = 15)
![enter image description here](https://i.stack.imgur.com/4aClW.png)
Итак, я хотел бы помочь выяснить, как обеспечить порядок выборок (точек) на оси х: S-7-1, S-7-2 .... S-7- 5, S7 Среднее, то S-27-1, S-27-2 .... S-27-5, S-27 Среднее. Подобно тому, как был создан код выше, но с примерами сайтов S-7, а затем с примерами S-27.
Я могу легко воссоздать код для других индексов, поэтому сейчас я только начинаю с Abundance.
Любая помощь будет оценена. Спасибо.