我试图遍历矩阵列表(matList)以获取每个矩阵的行列式,并返回一个包含所有行列式值的新列表。
到目前为止,我已经尝试过:
matList
detList <- list()
for(i in matList){
detList <- c(det(matList[i]))
i + 1
}
detList
但是我收到错误消息:UseMethod(“ determinant”)中的错误: 没有将适用于“行列式”的方法应用于“列表”类的对象
我知道我不能接受列表的行列式,但是我对每个矩阵都调用了该函数,所以我不确定为什么会收到此错误消息或如何解决它。
答案 0 :(得分:1)
我认为这是使用lapply
(或sapply
)的教科书示例。是
detList <- lapply(matList, det)
工作吗?
在功能上等同于
detList <- list()
for (i in matList){
detList[i] <- det(matList[[i]])
}
这是正确的循环,如@joran在评论中所述。