我有两个数据矩阵,如下所示
firstMatrix <- matrix(runif(10),500, 100)
secondMatrix <- matrix(runif(10),500, 25)
我想从firstMatrix得到第二个矩阵的平方残差的和ROOT。这是我被困在
的地方myopt3 <- function(firstMatrix,secondMatrix) {
resid2 <- (secondMatrix-firstMatrix[,i])^2
sum(resid2)
}
我希望每一次,我都可以根据第二个矩阵得到firstMatrix的残差,这样可以根据第二列的一列获得firstMatrix每四列的残差。
例如
(secondMatrix[,1]-firstMatrix[,1])^2
(secondMatrix[,1]-firstMatrix[,2])^2
(secondMatrix[,1]-firstMatrix[,3])^2
(secondMatrix[,1]-firstMatrix[,4])^2
然后
(secondMatrix[,2]-firstMatrix[,5])^2
(secondMatrix[,2]-firstMatrix[,6])^2
(secondMatrix[,2]-firstMatrix[,7])^2
(secondMatrix[,2]-firstMatrix[,8])^2
然后 ...
直到结束并将所有值保存在另一个矩阵中 这就是我试图对这个示例数据进行的操作
答案 0 :(得分:0)
从this post,您可以复制secondMatrix
的列:
secondMatrix = secondMatrix[ ,rep(1:ncol(secondMatrix), times = 4)]
然后你做平方差的总和:
diff = colSums((secondMatrix - firstMatrix)^2)