Создание сложенных гистограмм со средним изобилием - PullRequest
1 голос
/ 19 января 2020

Я пытаюсь создать столбчатую диаграмму с накоплением, которая будет иметь среднюю численность по оси Y, группу основных трофи c по оси X, и каждый столбец будет заполнен указанными c трофи c группа (основные трофеи c группы подразделяются далее)

Я создал пример моих данных, которые вы можете просто поместить в R:

Example<-structure(list(Species = c("Fish1", "Fish2", "Fish3", "Fish4", 
"Fish5", "Fish6", "Fish7", "Fish1", "Fish2", "Fish3", "Fish4", 
"Fish5", "Fish6", "Fish7", "Fish1", "Fish2", "Fish3", "Fish4", 
"Fish5", "Fish6", "Fish7"), Trophic = c("Herbivore", "Omnivore", 
"Herbivore", "Predator", "Predator", "Omnivore", "Omnivore", 
"Herbivore", "Omnivore", "Herbivore", "Predator", "Predator", 
"Omnivore", "Omnivore", "Herbivore", "Omnivore", "Herbivore", 
"Predator", "Predator", "Omnivore", "Omnivore"), Trophic_Specific = c("Grazer", 
"Generalist_Omnivore", "Browser", "Micro-invertebrate_Predator", 
"Micro-invertebrate_Predator", "Generalist_Omnivore", "Benthic_Omnivore", 
"Grazer", "Generalist_Omnivore", "Browser", "Micro-invertebrate_Predator", 
"Micro-invertebrate_Predator", "Generalist_Omnivore", "Benthic_Omnivore", 
"Grazer", "Generalist_Omnivore", "Browser", "Micro-invertebrate_Predator", 
"Micro-invertebrate_Predator", "Generalist_Omnivore", "Benthic_Omnivore"
), Transect = c(1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 
3, 3, 3, 3, 3, 3), Count = c(1, 2, 34, 0, 4, 2, 1, 0, 2, 25, 
1, 4, 2, 1, 1, 4, 50, 3, 6, 7, 3)), class = c("spec_tbl_df", 
"tbl_df", "tbl", "data.frame"), row.names = c(NA, -21L), spec = structure(list(
    cols = list(Species = structure(list(), class = c("collector_character", 
    "collector")), Trophic = structure(list(), class = c("collector_character", 
    "collector")), Trophic_Specific = structure(list(), class = c("collector_character", 
    "collector")), Transect = structure(list(), class = c("collector_double", 
    "collector")), Count = structure(list(), class = c("collector_double", 
    "collector"))), default = structure(list(), class = c("collector_guess", 
    "collector")), skip = 1), class = "col_spec"))

Я знаю, как изобразить это на гистограмме, используя ggplots, если я определю средние значения численности (то есть среднее количество каждого вида / трофея c группы по 3 трансектам) вручную в Excel (но тогда я не знаю, как чтобы получить мои столбцы ошибок).

Как я могу суммировать эти необработанные данные в R, чтобы я мог получить среднее изобилие для каждой указанной группы c trophi c, используя в качестве повторов трансекты 1-3, что тогда я могу построить на гистограмме, как описано выше?

1 Ответ

1 голос
/ 19 января 2020

Я не уверен на 100%, что это то, что вы ищете, но думал, что сделаю снимок.

library(tidyverse)

Example %>%
  group_by(Trophic, Trophic_Specific) %>%
  summarise(Mean = mean(Count),
            SD = sd(Count),
            n = n(),
            SE = SD/n)

# A tibble: 5 x 6
# Groups:   Trophic [3]
  Trophic   Trophic_Specific              Mean     SD     n    SE
  <chr>     <chr>                        <dbl>  <dbl> <int> <dbl>
1 Herbivore Browser                     36.3   12.7       3 4.22 
2 Herbivore Grazer                       0.667  0.577     3 0.192
3 Omnivore  Benthic_Omnivore             1.67   1.15      3 0.385
4 Omnivore  Generalist_Omnivore          3.17   2.04      6 0.340
5 Predator  Micro-invertebrate_Predator  3      2.19      6 0.365
...