首页 > 解决方案 > 计算遵循 R 中模式的行的平均值

问题描述

我有按月组织的旅行数据。看起来像这样

source <- c(1,1,2,2)
dest <- c(2,2,1,1)
month <- c(1,2,1,2)
time <- c(0.23, 0.34, 0.29, 0.33)
df <- data.frame(source, dest, month, time)

> df
source   dest    month    time
  1        2        1     0.23
  1        2        2     0.34
  2        1        1     0.29
  2        1        2     0.33

我想time成为具有相同来源和相同目的地的旅行的所有月份的平均时间,如下所示:

source   dest     time
  1        2      0.285
  2        1      0.31

以下是我正在考虑的步骤:

这是我尝试过的

df$merged <- paste(df$source, df$dest, sep='')

问题是:

  1. 我不知道根据行是否唯一返回 TRUE/FALSE 值的逻辑函数。但这将模式的duplicated第一个实例分类为不重复。在我的示例中,第一行和第三行将被归类为不重复,而我希望它们被归类为这样。

  2. 我不知道如何告诉 R,基于上述条件,不唯一的行应该与其重复项相关联,并且这些行的时间应该平均到另一列中。

有谁知道怎么做我的想法?

标签: rdataframeuniquemean

解决方案


推荐阅读