Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 用于kmeans分析的Lag xts对象_R_K Means_Xts - Fatal编程技术网

R 用于kmeans分析的Lag xts对象

R 用于kmeans分析的Lag xts对象,r,k-means,xts,R,K Means,Xts,我试图使用从R-bloggers获得的用于kmeans集群的代码来获得一个单变量分布。作者使用的例子是标准普尔500指数,该指数是用getSymbols'SPY'获得的。我正在尝试将代码应用于我自己的数据。我需要弄清楚: 我认为,如何修改代码,使其正确地重新运行我的数据,因为创建者的一些输入需要更改 我需要知道为什么它只滞后于数据1天,见下文,因为我的数据是每月的,需要根据我的数据改变滞后 我看到代码的作用是将数据延迟一个周期。作者的代码使用每日标准普尔数据,但我的数据是每月一次。我遇到的问题是

我试图使用从R-bloggers获得的用于kmeans集群的代码来获得一个单变量分布。作者使用的例子是标准普尔500指数,该指数是用getSymbols'SPY'获得的。我正在尝试将代码应用于我自己的数据。我需要弄清楚:

我认为,如何修改代码,使其正确地重新运行我的数据,因为创建者的一些输入需要更改

我需要知道为什么它只滞后于数据1天,见下文,因为我的数据是每月的,需要根据我的数据改变滞后

我看到代码的作用是将数据延迟一个周期。作者的代码使用每日标准普尔数据,但我的数据是每月一次。我遇到的问题是,通过使用作者的代码,它使我的数据滞后一天而不是一个月。我一直在努力更好地理解代码,但我不知道在哪里修改代码,使其延迟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')
原始代码:


那密码太可怕了。我甚至猜不出它应该做什么。简单地使用?lag?有什么不对?所以所有这些都可以用:x来代替