我有一个用R编写的函数的 bootstrap 统计信息列表。主列表有1000个 bootstrap 迭代。列表中的每个元素本身就是三样东西的列表,包括四个变量(“fvboot”-501x4矩阵)中每个变量的拟合值。
我想为x值网格上每个位置的值从1:501开始,对每个变量从1:4开始,对每个位置值做一个向量。
例如,对于第j个变量的xgrid上的第i个点,我想制作一个如下的向量:
vec = bootfits$fvboot[[1:1000]][i,j]
但是当我这样做时,我得到:
recursive indexing failed at level 2
谷歌搜索,我想我理解R为什么要这样做。但是我没有如何将每个fvboot矩阵的ijth元素转换为1000x1向量的答案。
帮助将不胜感激。
最佳答案
如果您提供一个最小的示例对象,这会更容易。通常,您不能使用[[1:1000]]
这样的向量为列表编制索引。我会使用plyr
函数。这应该可以做到(尽管我还没有测试过):
require("plyr")
laply(bootfits$fvboot,function(l) l[i,j])
如果您不熟悉
plyr
:我总是发现Hadley Wickham的文章'The split-apply-combine strategy for data analysis'非常有用。
关于r - 从R中的列表元素制作向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13753239/