基于R中的列时间序列创建均值矩阵

基于R中的列时间序列创建均值矩阵,r,matrix,mean,R,Matrix,Mean,我将不同投资组合的25个月收益时间序列作为列(S1B1、S1B2、S1B3、S1B4、S1B5、S2B1、S2B2、S2B3、S2B4、S2B5、(…)、S5B5): 我想创建一个5x5矩阵,用以下方式显示每列的平均值: S1B1 S1B2 S1B3 S1B4 S1B5 S2B1 S2B2 S2B3 S2B4 S2B5 S3B1 S3B2 S3B3 S3B4 S3B5 S4B1 S4B2 S4B3 S4B4 S4B5 S5B1 S5B2 S5B3 S5B4 S5B5

我将不同投资组合的25个月收益时间序列作为列(S1B1、S1B2、S1B3、S1B4、S1B5、S2B1、S2B2、S2B3、S2B4、S2B5、(…)、S5B5):

我想创建一个5x5矩阵,用以下方式显示每列的平均值:

S1B1 S1B2 S1B3 S1B4 S1B5    
S2B1 S2B2 S2B3 S2B4 S2B5   
S3B1 S3B2 S3B3 S3B4 S3B5   
S4B1 S4B2 S4B3 S4B4 S4B5   
S5B1 S5B2 S5B3 S5B4 S5B5

您可以使用
apply
函数计算每列的平均值

您可以这样使用它:

apply(M, 2, mean) # where M is your data (presumably a matrix or a data frame)

然后将每个结果放入矩阵中的一个条目中

这很简单。首先,您应该为每列计算
平均值
,然后您应该将得到的
1x25
向量重塑为
5x5
矩阵:

matrix(apply(data,2,mean), nrow=5, ncol=5, byrow=TRUE)

apply(data,2,mean)
计算
data
每列的平均值,
矩阵
根据其结果构造一个
5x5
矩阵。

这里最明显的解决方案是使用向量化的
colMeans
函数(由于
apply
作为
for
循环,随着数据集的增长,其效率变得越来越低)。请尝试以下操作

matrix(colMeans(M), ncol = 5, byrow = TRUE)

你们是用什么来创建这些矩阵的?哎呀,我忘了提那个了。我用的是R。你们需要提供更多的细节。语言、数据结构、文件类型等等。问题需要更多的细节,很难准确把握你们想要的。对不起,现在看起来更清楚了吗?非常感谢!很好。
matrix(colMeans(M), ncol = 5, byrow = TRUE)