重申 R 中的矩阵列表
Reiterating through a list of matrices in R
我正在尝试通过矩阵列表 (matList) 获取每个矩阵的行列式,然后 return 一个包含所有行列式值的新列表。
到目前为止,我试过这个:
matList
detList <- list()
for(i in matList){
detList <- c(det(matList[i]))
i + 1
}
detList
但我收到错误消息:UseMethod("determinant") 出错:
没有适用于 'determinant' 的方法应用于 class "list"
的对象
我知道我不能获取列表的行列式,但我对每个矩阵都调用了该函数,所以我不确定为什么会收到此错误消息或如何修复它。
我认为这是使用 lapply
(或 sapply
的教科书示例)。有
detList <- lapply(matList, det)
工作?
它在功能上等同于
detList <- list()
for (i in matList){
detList[i] <- det(matList[[i]])
}
正如@joran 在评论中所解释的那样,这将是正确的循环。
我正在尝试通过矩阵列表 (matList) 获取每个矩阵的行列式,然后 return 一个包含所有行列式值的新列表。
到目前为止,我试过这个:
matList
detList <- list()
for(i in matList){
detList <- c(det(matList[i]))
i + 1
}
detList
但我收到错误消息:UseMethod("determinant") 出错: 没有适用于 'determinant' 的方法应用于 class "list"
的对象我知道我不能获取列表的行列式,但我对每个矩阵都调用了该函数,所以我不确定为什么会收到此错误消息或如何修复它。
我认为这是使用 lapply
(或 sapply
的教科书示例)。有
detList <- lapply(matList, det)
工作?
它在功能上等同于
detList <- list()
for (i in matList){
detList[i] <- det(matList[[i]])
}
正如@joran 在评论中所解释的那样,这将是正确的循环。