上QQ阅读APP看书,第一时间看更新
1.3.8 R语言衍生数据对象
基于前述的基本数据对象,可以衍生出定制化的结构。例如,套件{DMwR}中1970-01-02到2009-09-15的SP500每日收盘股价指数GSPC,此数据对象存储多变量时间序列数据,其类别名称为定义在套件{xts}中的同名类别xts。从对象的结构信息中可看出,xts类的时间序列数据是用10 022×6的数值矩阵存放10 022笔样本,每笔有开盘价、最高价、最低价、收盘价、成交量与调整后的价格这六个变量。这类对象可以时间值进行索引,并带有数据源(Yahoo)与更新时间(2009-10-06 23:47:09)等属性。
{xts}套件有许多处理时间序列数据的函数,nmonths()、nquarters()、ndays()返回时间序列数据周期的月份、季度与天数。endpoints()函数可获取数据周期中秒、分、时、日、周、月、季或年等的起止点,结合period.apply()函数(参见1.5节向量化与隐式循环),可对各时间区间的数据进行统计,例如下例中的算术平均数。
接下来运用逻辑值索引取出超出这段周期收盘平均指数加上2.15倍标准偏差的数据,程序代码先使用套件{quantmod}中的Cl()函数取出收盘指数,计算平均值与标准偏差后,再按2.15倍标准偏差界线进行逻辑判断后取值(收盘价高于1542者)。