创建直方图,按列分组,然后在 R 中按另一列求和

Create Histogram, grouping by a column and then sum by another in R

我有一个数据集 data,具有以下值:

               ID                TIME                         Duration   
                A                12/18/2019 4:45:10 AM        1 sec
                A                12/18/2019 4:45:11 AM        0 sec
                A                12/18/2019 9:06:59 PM        0 sec                    
                B                12/18/2019 4:14:13 AM        1 sec
                B                12/18/2019 4:14:14 AM        0 sec

我希望使用 ggplot 创建一个直方图,对 ID 进行分组,并对 Duration 求和,将 ID 作为 X 轴,在 Y 轴上求和。

               ID        Sum

               A         1
               B         1

我使用了以下代码:

              library(dplyr)
              library(ggplot)
              library(qplot)




            sumdata<-df %>% groupby(ID) %>% SUM(Duration)

            qplot(df,
            geom="histogram",
            binwidth = 0.5,  
            main = "Histogram for Duration", 
            xlab = "ID"
            ylab = "Duration")

我还在研究中。任何建议表示赞赏。

您可以为此使用 ggplot2

在绘图之前总结这样的数据:

library(dplyr)
 df <- df %>%
   group_by(ID) %>%
   summarise_all(sum)

然后创建一个情节。

library(ggplot2)
 ggplot(data = df, aes(x = ID, y = Duration)) +
   geom_bar(stat = "identity")

选项base R

aggregate(.~ ID, df, FUN = sum)