cheetahfly 发表于 2016-7-27 12:09 
一个matrix其实就是一个特殊的vector,360个矩阵就是360个vectors,这下明白了吧。
比如一年360天,每一天有43行数据,我们需要把每43行的数据看做一个矩阵,这样就有了360个43*43的矩阵。然后再以30天为一个月,每30个矩阵相加,就得到12个月的矩阵。。这中间怎么定义矩阵序列和n个序列求和,都遇到问题了
D=array(0,dim=c(43,43,360))
for(j in 1:365){ #将每一天弄成一个矩阵,每一天是43行
p[j]=43*j-42
q[j]=43*j
D[j]=rbind(x[c(p[j]:q[j]),]) #第j天的矩阵
下面是求和
for(k in 1:12) { #一共有12个月
g[k]=sum(a[c(1:k)])-a[k]+1
#计算出每个月的第一天和最后一天的时间
d[k]=sum(a[c(1:k)])
M[,,k]=apply(D[,,seq(g[k],d[k],by=1)],c(1,2),sum) #将每个月中所有天数的矩阵相加
这里的D定义是不是对的?是应该写成D[,,j]还是D[,j]还是怎么办?运行的时候老出错
另外,求和的部分有问题吗?
感觉最主要的是怎么定矩阵序列