【发布时间】:2015-11-16 12:33:20
【问题描述】:
我有一个使用 ff 包存储的大矩阵(1,000,000 行 x 1,140 列)。
有没有一种有效的方法来计算协方差矩阵?使用 cov 函数会报错:
cov(X) 中的错误:同时提供“x”和“y”或类似矩阵的“x”
鉴于 cov 不理解 ff 对象,这并不奇怪。我目前正在使用一个简单的嵌套 for 循环:
covarianceMatrix <- matrix(0,nrow=ncol(ffObject),ncol=ncol(ffObject))
distinctValues <- sum(ncol(ffObject):1)
for(i in 1:ncol(ffObject))
{
for(j in i:ncol(ffObject))
{
if(i==j)
{
covarianceMatrix[i,j] <- var(ffObject[,i])
}
else
{
covarianceMatrix[i,j] <- covarianceMatrix[j,i] <- cov(ffObject[,i],ffObject[,j])
}
}
}
有效,但速度很慢。
【问题讨论】:
标签: r covariance ff