Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.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中创建矩阵列表_R_Finance - Fatal编程技术网

在R中创建矩阵列表

在R中创建矩阵列表,r,finance,R,Finance,运行此代码时,会收到以下错误消息: > fact.cov <- matrix(NA,ncol(fact.weight),ncol(fact.weight)) > for (row in 15:nrow(fact.weight)) { >> fact.cov[[row]] <- var(fact.wealth.return[(row-1):row,]) } 对于时间行中的每个点,我需要创建一个协方差矩阵。有人知道怎么做吗 提前谢谢你 这可能会有帮助:

运行此代码时,会收到以下错误消息:

> fact.cov <- matrix(NA,ncol(fact.weight),ncol(fact.weight))

> for (row in 15:nrow(fact.weight)) {
    >> fact.cov[[row]] <- var(fact.wealth.return[(row-1):row,])
}
对于时间行中的每个点,我需要创建一个协方差矩阵。有人知道怎么做吗

提前谢谢你

这可能会有帮助:

Error in fact.cov[[row]] <- var(fact.wealth.return[(row - 1):row, ]) : 
  more elements supplied than there are to replace

但是,为了使代码具有可复制性,您应该提供更多的详细信息,例如什么是fact.wealth.return或fact.weight。

如果不了解您的数据,很难准确地说出您想要实现的目标。但是您可以轻松地创建一个空列表,然后为列表的每个元素分配一个矩阵,从而获得一个矩阵列表。我鼓励创建一个确定大小的空列表,因为这样通常可以更好地使用内存,而且速度更快

fact.cov <- list()
for (k in 15:fact.weight) {
 fact.cov[[k]] <- var(fact.wealth.return[(k-1):k,])    
};rm(k)

该列表的输出将是一个长度为10的列表,该列表的每个元素将是一个包含2行3列的矩阵。每个矩阵都将由NAs填充。

要创建Cov矩阵还是矩阵列表?矩阵列表!
listOfMatrices <- vector("list", 10)
for (i in 1:10) {
  listOfMatrices[[i]] <- matrix(NA, nrow=2, ncol=3)
}