在 R 中创建矩阵列表
Creating list of matrices in R
> 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.cov <- list()
for (k in 15:fact.weight) {
fact.cov[[k]] <- var(fact.wealth.return[(k-1):k,])
};rm(k)
但是,您应该提供更多详细信息以使您的代码可重现(例如,什么是 fact.wealth.return
或 fact.weight
)。
如果不了解您的数据,就很难说出您究竟想要完成什么。但是您可以轻松地创建一个空列表,然后为列表的每个元素分配一个矩阵,从而获得一个矩阵列表。我鼓励创建一个确定大小的空列表,因为这通常可以更好地利用内存并且可以更快。
listOfMatrices <- vector("list", 10)
for (i in 1:10) {
listOfMatrices[[i]] <- matrix(NA, nrow=2, ncol=3)
}
它的输出将是一个长度为 10
的列表,该列表的每个元素都是一个具有 2
行和 3
列的矩阵。每个矩阵将由 NA
s.
填充
> 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.cov <- list()
for (k in 15:fact.weight) {
fact.cov[[k]] <- var(fact.wealth.return[(k-1):k,])
};rm(k)
但是,您应该提供更多详细信息以使您的代码可重现(例如,什么是 fact.wealth.return
或 fact.weight
)。
如果不了解您的数据,就很难说出您究竟想要完成什么。但是您可以轻松地创建一个空列表,然后为列表的每个元素分配一个矩阵,从而获得一个矩阵列表。我鼓励创建一个确定大小的空列表,因为这通常可以更好地利用内存并且可以更快。
listOfMatrices <- vector("list", 10)
for (i in 1:10) {
listOfMatrices[[i]] <- matrix(NA, nrow=2, ncol=3)
}
它的输出将是一个长度为 10
的列表,该列表的每个元素都是一个具有 2
行和 3
列的矩阵。每个矩阵将由 NA
s.