Суммирование данных в гистограмму с указанием средних и стандартных ошибок - PullRequest
0 голосов
/ 27 февраля 2020

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

Данные состоят из четырех измерений для каждого из двадцати деревьев, причем двадцать деревьев в таблице имеют собственную строку и четыре столбца для четырех измерений для каждого дерева (надеюсь, это понятно).

I В настоящее время у меня есть данные в R, и они могут видеть средства для моих четырех категорий с помощью команды итога, но не указывать, куда go отсюда. Ниже head моего фрейма данных, надеюсь, это поможет.

    Tree Avg_number_1m Avg_number_2m Avg_number_3m Avg_number_4m
1 Tree_1          15.2          15.0          15.2          12.0
2 Tree_2          16.2          15.4          14.2          15.4
3 Tree_3          14.4           9.2           3.2           1.6
4 Tree_4          14.6           5.6          10.4           9.2
5 Tree_5          15.2          13.0           7.4           3.0

1 Ответ

0 голосов
/ 27 февраля 2020

Чтобы подготовить данные для построения графика, сначала необходимо выполнить преобразование из широкого в длинный. Похоже, вы хотите построить каждую из 4 категорий (4 измерения для каждого дерева) отдельно. Если это так, будет group_by каждое из этих измерений, а затем рассчитать среднее значение, стандартное отклонение и стандартную ошибку для каждого измерения. Пожалуйста, дайте мне знать, если вы это имели в виду.

library(tidyverse)
library(ggplot2)

df %>%
  pivot_longer(cols = -Tree, names_to = "measure", values_to = "value", names_pattern = "^Avg_number_(\\d)m") %>%
  group_by(measure) %>%
  summarise(mean = mean(value),
            SD = sd(value),
            n = n(),
            SE = SD/sqrt(n)) %>%
  ggplot(aes(x = measure, y = mean)) +
  geom_bar(stat = "identity", position = "dodge", width = .5) +
  geom_errorbar(aes(ymax = mean + SE, ymin = mean - SE), position = position_dodge(.5), width = .2)

Сюжет

barplot with error bars

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...