滞后xts对象进行kmeans分析

时间:2014-09-19 19:53:33

标签: r k-means xts

我正在尝试使用从R-bloggers获取的代码进行单变量分发,以进行kmeans聚类。作者使用的示例是使用getSymbols('SPY')获得的S& P 500。我正在尝试将代码应用于我自己的数据。我需要弄清楚:

  1. 如何修改代码以便正确重新运行我的数据,因为创建者的某些输入需要改变,我认为。

  2. 我需要知道为什么它只会滞后数据1天(见下文),因为我的数据是按月计算的,需要根据我的数据改变滞后。

  3. 我看到代码所做的是将数据滞后一个周期。作者的代码每天使用S& P数据,但我的数据是每月一次。我遇到的问题是,通过使用作者的代码,它使我的数据滞后一天而不是一个月。我一直在努力更好地理解代码,但我无法看到修改代码的位置,因此它会滞后1个月。

    我的数据:

               Composite
    2006-07-31     -3.35
    2006-08-31      3.46
    2006-09-30      3.80
    2006-10-31      4.24
    2006-11-30      2.97
    2006-12-31     -0.33
    

    以下是代码,我稍作修改以省略nas:

    ###################if you want uniform distribution - uncomment the following lines##############
    rez=na.omit(apply(
    (nasa),2,function(x){
    y=(xts(x,order.by=as.POSIXct(as.Date(attr(x,'names')))))
    
    print(xts(rollapply(y,20,function(z){which(order(z)==20)/20},align='right')))
    }))
    nasa=xts(rez,order.by=as.POSIXct(tail(index(nasa),-19)))
    colnames(nasa)=c('Percent of High')
    

    原始代码:

    https://github.com/kafka399/Rproject/blob/master/kmeans/kmeans.R

0 个答案:

没有答案