如何按群组查找总数?

时间:2018-04-15 20:43:24

标签: r

我试图通过查找总数的小组来汇总一些数据。

library(hflights)
head(hflights)
hflights_df <- tbl_df(hflights)
hflights_df$ActualElapsedTime<-as.numeric(hflights_df$ActualElapsedTime)
hflights_df %>%
  group_by("Year", "Month") %>%
  sum(ActualElapsedTime, na.rm=T)

function_list [k]中的错误:object&#39; ActualElapsedTime&#39;找不到

我该怎么做才能纠正这个问题?

2 个答案:

答案 0 :(得分:1)

你的最后一行应该是:

hflights_df %>%
  group_by("Year", "Month") %>%
  summarise(x = sum(ActualElapsedTime, na.rm = TRUE))

# A tibble: 1 x 3
# Groups:   "Year" [?]
  `"Year"` `"Month"`        x
     <chr>     <chr>    <dbl>
1     Year     Month 28952224

答案 1 :(得分:0)

您正在混合dplyr和基本R功能。如果您要使用dplyr,则需要使用summarize来获取每个组的总和。

请注意,在以交互方式使用group_by时,您无需引用dplyr中的参数。

library(hflights)
library(dplyr)

hflights %>% 
  group_by(Year, Month) %>% 
  summarize(total = sum(ActualElapsedTime, na.rm=T))

# A tibble: 12 x 3
# Groups:   Year [?]
    Year Month   total
   <int> <int>   <dbl>
 1  2011     1 2335093
 2  2011     2 2022033
 3  2011     3 2492071
 4  2011     4 2388752
 5  2011     5 2479506
 6  2011     6 2534577
 7  2011     7 2648940
 8  2011     8 2563005
 9  2011     9 2304998
10  2011    10 2389236
11  2011    11 2327190
12  2011    12 2466823