基于R中的列时间序列创建均值矩阵
我将不同投资组合的25个月收益时间序列作为列(S1B1、S1B2、S1B3、S1B4、S1B5、S2B1、S2B2、S2B3、S2B4、S2B5、(…)、S5B5): 我想创建一个5x5矩阵,用以下方式显示每列的平均值:基于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
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)