![大数据分析与应用实战:统计机器学习之数据导向编程](https://wfqqreader-1252317822.image.myqcloud.com/cover/943/44509943/b_44509943.jpg)
上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)等属性。
![](https://epubservercos.yuewen.com/027AFF/23721555909466506/epubprivate/OEBPS/Images/Figure-P64_19885.jpg?sign=1739446299-J664W6OYwzPokjk9ogjjkeZUYTwZeXQt-0-dd47d7bce576721b759c01c25573ec99)
![](https://epubservercos.yuewen.com/027AFF/23721555909466506/epubprivate/OEBPS/Images/Figure-P65_19886.jpg?sign=1739446299-MWl58EGlwgHqaPuPlVuwqmEEXSJCMBXq-0-5b4d22698ca7e5537424c2f49fa0d901)
{xts}套件有许多处理时间序列数据的函数,nmonths()、nquarters()、ndays()返回时间序列数据周期的月份、季度与天数。endpoints()函数可获取数据周期中秒、分、时、日、周、月、季或年等的起止点,结合period.apply()函数(参见1.5节向量化与隐式循环),可对各时间区间的数据进行统计,例如下例中的算术平均数。
![](https://epubservercos.yuewen.com/027AFF/23721555909466506/epubprivate/OEBPS/Images/Figure-P65_20074.jpg?sign=1739446299-he5iXQXWRdLzXTP2bVaWJwR4Q8HhJNV6-0-d30db3e2f3c8853728c1767aa610fbf1)
![](https://epubservercos.yuewen.com/027AFF/23721555909466506/epubprivate/OEBPS/Images/Figure-P66_20076.jpg?sign=1739446299-1gLQVAnXT2TKXmEewz8ASRpzQASlM53B-0-c4ec32ed65626e463dbbe033733ace96)
![](https://epubservercos.yuewen.com/027AFF/23721555909466506/epubprivate/OEBPS/Images/Figure-P67_20077.jpg?sign=1739446299-f28PoPmclMQF9VKQLkeDiR2nVNxovPHN-0-c9107def60c6882384417a8af6fa758c)
接下来运用逻辑值索引取出超出这段周期收盘平均指数加上2.15倍标准偏差的数据,程序代码先使用套件{quantmod}中的Cl()函数取出收盘指数,计算平均值与标准偏差后,再按2.15倍标准偏差界线进行逻辑判断后取值(收盘价高于1542者)。
![](https://epubservercos.yuewen.com/027AFF/23721555909466506/epubprivate/OEBPS/Images/Figure-P68_2994.jpg?sign=1739446299-NEnukhL3huptvuNV003WusQE8jvwYBe0-0-54e5d666bee43aa5dc429b558489bdc6)