如何准备数据以从数据框的两列创建分组的直方图

时间:2018-11-30 05:03:28

标签: r ggplot2

我正在尝试通过分析我拥有的数据集来自学R。它称为audit_data,看起来像这样(实际上还有更多的行和列);

id          date       time_1       time_2     time_3    description   comment
 1   10-Oct-2017          120          135         75        xxxxxxx    xxxxxx
 2   05-Jun-2017          140          120         90        xxxxxxx    xxxxxx
 3   31-Aug-2017          133          215        104        xxxxxxx    xxxxxx
 4   22-Sep-2017           95          110        127        xxxxxxx    xxxxxx

我想用ggplot2创建一个分组的直方图,仅显示来自时间_1和时间_3列的数据并排配对。

我认为,要做到这一点,我需要创建一个看起来像这样的新数据集(例如audit_data_new),但是我要努力做到这一点。

time       value
time_1     120
time_1     140
time_1     133
time_1      95
time_3      75
time_3      90
time_3     104
time_3     127

完成此操作后,我计划使用类似的命令

ggplot(audit_data_new, aes(value, fill=time)) + geom_histogram(position='dodge')

关于如何首先将数据整理成正确格式的任何建议吗?

1 个答案:

答案 0 :(得分:0)

我不确定这是否是您想要的。希望能帮助您。

library(tidyverse)

df <- data.frame(time_1 = rnorm(100, 60),
                 time_2 = rnorm(100, 61),
                 time_3 = rnorm(100, 62))

df %>% select(time_1, time_3) %>%
  gather(time, value) %>%
  ggplot(aes(value, fill = time)) +
    geom_histogram(colour = 1, position = "dodge")

enter image description here