求助啊,R运行最后出错了,提示下标出界,高手帮忙看下啊(关于高频数据的)
X=read.table("www.txt", header=TRUE)
m=ncol(X)
n=nrow(X)
Ind.all=X$Day.N
n.all=length(Ind.all)
Day.Ind=Ind.all[1]
for(j in 2:n.all)
{if(Ind.all[j]>Ind.all[j-1]){Day.Ind=c(Day.Ind,Ind.all[j])}}
nd=length(Day.Ind)
for(j in 1:nd)
{
Day.N=X$Day.N
Ind.Minute=X$Minute.1[Day.N==Day.Ind[j]]
Price=X$Price[Day.N==Day.Ind[j]]
Volume=X$Volume[Day.N==Day.Ind[j]]
n=length(Ind.Minute)
Minute.Ind=Ind.Minute[1]
for(i in 2:(n-1))
{if
(Ind.Minute[i]>Ind.Minute[i-1])
{Minute.Ind=c(Minute.Ind,Ind.Minute[i])}}
HFj=matrix(0, 4, 511)
m=length(Minute.Ind)
for(i in 1:m)
{
Pricei=Price[Ind.Minute==Minute.Ind[i]]
ni=length(Pricei)
Volumei=Volume[Ind.Minute==Minute.Ind[i]]
HFj[1, Minute.Ind[i]+1]=Pricei[ni]
HFj[2, Minute.Ind[i]+1]=sum(Pricei*Volumei)/sum(Volumei)
HFj[3, Minute.Ind[i]+1]=ni
HFj[4, Minute.Ind[i]+1]=sum(Volumei)
if(i<m && Minute.Ind[i+1]-Minute.Ind[i]>1)
{k=Minute.Ind[i+1]-Minute.Ind[i]-1
for(l in 1:k)
{
HFj[1, Minute.Ind[i]+1+l]=Pricei[ni]
HFj[2, Minute.Ind[i]+1+l]=HFj[2, Minute.Ind[i]+1]
}
}
}
###### i=1
z0=Minute.Ind[1]
if(z0>0)
{ HFj[1, 1:z0]=Price[1]
HFj[2, 1:z0]=HFj[2, z0+1]
}
######
###### i=m
zm=Minute.Ind[m]
if(zm<510)
{
HFj[1, (zm+2):511]=HFj[1, zm+1]
HFj[2, (zm+2):511]=HFj[2, zm+1]
}
######
if(j==1)
{HF.ALL=HFj}
if(j>1)
{HF.ALL=cbind(HF.ALL,HFj)}
} ## End of Day ##
##HF.ALL[2,]
Output=t(HF.ALL)
哪有问题啊 ??