【发布时间】:2016-10-03 12:02:52
【问题描述】:
假设我有一个包含 3 个矩阵的列表。
如何将其中一个矩阵提取为 Matrix-Object,以便通过 mymatrix[i,j] 调用进一步访问它的元素?
mylist[i] 只返回一个带有矩阵i 的列表对象。
我确信必须有一个简单的解决方案,但我找不到。
【问题讨论】:
假设我有一个包含 3 个矩阵的列表。
如何将其中一个矩阵提取为 Matrix-Object,以便通过 mymatrix[i,j] 调用进一步访问它的元素?
mylist[i] 只返回一个带有矩阵i 的列表对象。
我确信必须有一个简单的解决方案,但我找不到。
【问题讨论】:
使用双括号:mylist[[i]] ....
来自?"[["(已添加重点):
递归(类列表)对象:
“[”索引类似于原子向量并选择一个列表 指定的元素。
“[[”和“$”都选择列表中的单个元素。主要的 不同之处在于“$”不允许计算索引,
【讨论】:
mylist[[1]] 应该返回第一个矩阵
mylist[[3]] 应该返回第三个矩阵
【讨论】:
如果你想自动化,你可以简单地运行:
for (index in 1:length(mylist)){
assign(paste0("matrix", index), mylist[[index]], envir = .GlobalEnv)
}
【讨论】: