如何计算R中不同位置的每日最大值?

时间:2018-06-18 19:30:48

标签: r

所以目前我可以使用以下代码计算一个站点的每日最大值:

library('dplyr')
library('data.table')
library('tidyverse')
library('tidyr')
library('lubridate')

funcVolume <- function(max_data$enter_yard, max_data$exit_yard)

{
vecOnes <- array(1,c(length(max_data$enter_yard),1))
vecTime <- c(max_data$enter_yard,max_data$exit_yard)
vecCount <- c(vecOnes,-vecOnes)
df_test <- data.frame(T = vecTime, Count = vecCount)
df_test <-  df_test %>%
arrange(T) %>%
mutate(Volume = cumsum(Count))
df_test
}

df_test2 <- df_test

df_test2$date <- as.Date(format(df_test$T, "%Y-%m-%d"))

df_test3 <- df_test2

df_test3 <- tibble(x = df_test2$Volume, y = df_test2$date) %>%
  arrange(y)

dataset <- df_test3 %>%
  group_by(y) %>%
  dplyr::filter(x == max(x)) %>%
  distinct(x,.keep_all = T) %>%
  ungroup()

但是,我想在多个地方这样做。在我的原始数据框中,我有一列列出了站点的名称,以及两列用于对象进入或离开站点的时间。该名称只是一个通用文本列,另外两列是datetime列。理想情况下,我希望输出如下所示:

Date | Max Count | Site
 x        y         z
 x        a         b

我还有几百万行数据,所以我需要能够在合理的时间范围内运行的东西。

0 个答案:

没有答案