总结基于R中的日期持续时间的统计值

时间:2017-07-19 00:13:38

标签: r date statistics rstudio

我对上述问题有一个小问题。具体来说,我在R中有两个日期变量,起始和结束日期说:2000-1-1中的一个案例开始于2000-4-1结束。

我还有一个变量记录了这些日期内的一个医疗结果,比如2000-1-1,结果是20;在2000-2-1 / 2000-3-1 / 2000-4-1中,结果是30,30和50。

我想根据每个日期的持续时间来计算这些变量的平均值,在我们的例子中,平均值将是32.5(130/4)。

如何在R studio中实现它?提前致谢。

Ethan

1 个答案:

答案 0 :(得分:0)

听起来你需要使用聚合函数来计算每个季度的值的总和。

已编辑看起来你没有使用年度季度作为你的时间间隔,而是三个月?所以jan-apr是一个类别,may-aug是另一个,sep-dec是最后一个??

如果是这种情况你不能使用lubridate :: quarter(),那么你需要编写自己的矢量化函数来处理这个三个月,并为每个分配一个数字。这可以通过以下方式轻松完成:

trimester <- function(date){
    if(lubridate::month(date) >= 1 & lubridate::month(date) <= 4) return(1)
    if(lubridate::month(date) >= 5 & lubridate::month(date) <= 8) return(2)
    if(lubridate::month(date) >= 9 & lubridate::month(date) <= 12) return(3)}

VectorizedTrimester <- Vectorize(trimester)

然后您的实际聚合可以通过以下方式实现:

aggregate(formula = OrderValue ~ VectorizedTrimester(OrderDate), FUN = mean)

这是我能为您提供的最佳服务,请考虑在下次问题中使用变量名称和实际代码以获得更好的答案。