在相等的箱中细分矢量并计算每个箱的平均值

时间:2015-04-13 19:48:16

标签: r

我希望在10个相等的$ Date区域中剪切以下数据集以获得相同的样本。比计算10个箱子中每个箱子的平均值和标准差。我真的不知道该怎么做。

'data.frame':   1763 obs. of  6 variables:
 $ Date  : int  20080102 20080103 20080104 20080107 20080108 20080109 20080110 20080111 20080114 20080115 ...
 $ Open  : num  52.1 51.2 50 49.5 49.7 ...
 $ High  : num  52.3 51.5 50 50.1 49.7 ...
 $ Low   : num  50.8 50.2 48.7 48.6 47.8 ...
 $ Close : num  51 50.4 49.1 49.4 48 ...
 $ Volume: int  8053700 7753200 8501400 14031100 11721000 10971500 18732300
57219900 18554900 16955000 ...

1 个答案:

答案 0 :(得分:0)

您可以使用cut()Date分成小组,然后使用aggregate()对小组进行汇总。假设您的数据框名为df

with(df, aggregate(Close,
                   by = list(Date = cut(Date, 10, include.lowest = TRUE)),
                   FUN = function(x) c(mean(x), sd(x))))

这将返回一个包含三列的数据框:日期框,该文件夹中Close的平均值,以及该文件夹中标准偏差Close

首先将整数日期转换为R日期类型可能是个好主意。为此,请尝试以下操作:

df <- transform(df, Date = as.Date(as.character(Date), "%Y%m%d"))