R,如何在R数据框中聚合具有相同日期字段的数据

R,如何在R数据框中聚合具有相同日期字段的数据,r,dataframe,R,Dataframe,嗨,我有一个R数据框,看起来如下所示: SURVEY.DATE A B C 1898 2010-05-13 38 34 21 1899 2010-05-13 38 33 21 1897 2010-05-14 37 34 21 1895 2010-05-21 38 29 21 1896 2010-05-21 39 32 21 1894 2010-05-23 39 32 21 我希望对同一日期的行进行平

嗨,我有一个R数据框,看起来如下所示:

        SURVEY.DATE A   B   C
1898    2010-05-13  38  34  21
1899    2010-05-13  38  33  21
1897    2010-05-14  37  34  21
1895    2010-05-21  38  29  21
1896    2010-05-21  39  32  21
1894    2010-05-23  39  32  21
我希望对同一日期的行进行平均,以便每天只进行一次平均观察。理想情况下,我希望最终得到一个xts对象,它看起来像:

        SURVEY.DATE    A      B  C
1898    2010-05-13    38   33.5 21
1897    2010-05-14    37     34 21
1896    2010-05-21  38.5   30.5 21
1894    2010-05-23    39     32 21
似乎对我的新手R技能来说是一个挑战…任何帮助/指点都将不胜感激

您可以尝试一下

library(dplyr)
res <- df1 %>%
         group_by(SURVEY.DATE) %>% 
         summarise_each(funs(mean))
你可以试试

library(dplyr)
res <- df1 %>%
         group_by(SURVEY.DATE) %>% 
         summarise_each(funs(mean))
你可以试试

library(dplyr)
res <- df1 %>%
         group_by(SURVEY.DATE) %>% 
         summarise_each(funs(mean))
你可以试试

library(dplyr)
res <- df1 %>%
         group_by(SURVEY.DATE) %>% 
         summarise_each(funs(mean))

下面是我如何使用
data.table
实现这一点的

require(data.table)
setDT(df)[, lapply(.SD, mean), by=SURVEY.DATE]
#    SURVEY.DATE    A    B  C
# 1:  2010-05-13 38.0 33.5 21
# 2:  2010-05-14 37.0 34.0 21
# 3:  2010-05-21 38.5 30.5 21
# 4:  2010-05-23 39.0 32.0 21

如果您想了解更多信息,请查看表。

以下是我如何使用
数据表来完成此操作的方法

require(data.table)
setDT(df)[, lapply(.SD, mean), by=SURVEY.DATE]
#    SURVEY.DATE    A    B  C
# 1:  2010-05-13 38.0 33.5 21
# 2:  2010-05-14 37.0 34.0 21
# 3:  2010-05-21 38.5 30.5 21
# 4:  2010-05-23 39.0 32.0 21

如果您想了解更多信息,请查看表。

以下是我如何使用
数据表来完成此操作的方法

require(data.table)
setDT(df)[, lapply(.SD, mean), by=SURVEY.DATE]
#    SURVEY.DATE    A    B  C
# 1:  2010-05-13 38.0 33.5 21
# 2:  2010-05-14 37.0 34.0 21
# 3:  2010-05-21 38.5 30.5 21
# 4:  2010-05-23 39.0 32.0 21

如果您想了解更多信息,请查看表。

以下是我如何使用
数据表来完成此操作的方法

require(data.table)
setDT(df)[, lapply(.SD, mean), by=SURVEY.DATE]
#    SURVEY.DATE    A    B  C
# 1:  2010-05-13 38.0 33.5 21
# 2:  2010-05-14 37.0 34.0 21
# 3:  2010-05-21 38.5 30.5 21
# 4:  2010-05-23 39.0 32.0 21
如果您想了解更多信息,请查看