我希望在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 ...
答案 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"))