Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 找到每个日期的最大速度的有效方法_R - Fatal编程技术网

R 找到每个日期的最大速度的有效方法

R 找到每个日期的最大速度的有效方法,r,R,我有一个由多个数据帧组成的大列表,如下所示 ls.DataFrame[[1]] Date Velocity 10/1/1990 5.5 10/1/1990 5.5 10/1/1990 5.5 10/1/1990 5.2 10/1/1990 5.2 10/1/1990 5.2 10/2/

我有一个由多个数据帧组成的大列表,如下所示

    ls.DataFrame[[1]]
    Date            Velocity
    10/1/1990           5.5
    10/1/1990           5.5
    10/1/1990           5.5
    10/1/1990           5.2
    10/1/1990           5.2
    10/1/1990           5.2
    10/2/1990           5.2
    10/2/1990           5.2
    10/2/1990           5.2
    10/2/1990           5.2
    10/2/1990           5
    10/2/1990           5.2
    10/2/1990           5.2
    10/3/1990           4.2
    10/3/1990           4.2
    10/3/1990           4.2
    10/3/1990           4.4
    10/3/1990           4.2
    10/3/1990           3.7
    10/3/1990           3.7
我想要的输出是保持特定日期的日期和最大速度。下面是我希望输出的样子

    Date            Velocity
    10/1/1990           5.5
    10/2/1990           5.2
    10/3/1990           4.4     
我尝试过这样做,但没有正常工作

    max(ls.Dataframe[[1]]Velocity[ls.dataframe[[1]]$Date]

我们可以使用
map
循环查看
列表
,按“日期”分组,使用
tidyverse

library(tidyverse)
map(ls.Dataframe, ~ .x %>%
                      group_by(Date) %>%
                      summarise(Velocity = max(Velocity))
或者使用
data.table
更有效地执行此操作

library(data.table)
lapply(ls.Dataframe, function(x) 
     as.data.table(x)[, .(Velocity = max(Velocity)), by = Date])

baser
中,我们使用
lappy
循环并使用
aggregate
,但这会很慢

lapply(ls.Dataframe, function(x) aggregate(Velocity ~ Date, x, FUN = max))

aggregate
是否比
dplyr::groupby
/
summary
慢很多?我本来希望它的性能大致相同。@r2evans
aggregate
比我过去做的一些基准测试要慢。Donno,如果在新版本中速度非常快,我在尝试下面提出的解决方案时会遇到以下错误:没有适用于“group_by_”的方法应用于类“Date”@ChristopherMontalvo的对象,我无法重现这种行为。据我所知,Date类与
dplyr
很好地结合在一起。出于某种原因,Date被输入为类字符,而不是类日期。谢谢,它工作得很好。