我得到了一堆结果,它们被存储为双向量列表的列表(使用optim函数从for循环尝试的不同参数的列表),所以当我输入list时,元素显示如下:
[[1]]
r k sigma
96.66667 328.66667 396.33333
.
.
.
.
[[291]]
r k sigma
97.0 329.8 397.7
.
.
.
etc我希望能够访问命名值"r“、"k”和“sigma”的最小值和最大值。但是我不能使用$符号访问它们,或者使用引号,因为R将列表中的每个名称视为唯一的,我尝试使用unlist,但它将数据转换为1000长的向量,我尝试了cbind,但都不起作用。
我将非常感谢任何人能提供的任何帮助!
发布于 2013-03-06 05:24:11
如果列表中的每个元素都相同大小(长度为3的向量),那么您可以这样做:
do.call(rbind, mylist)其中mylist是您的输出对象列表。这将创建一个矩阵(或使用cbind代替rbind)。
只获取其中一块的另一种选择是:
sapply( mylist, `[`, "r" )它将从每个向量中获取"r“元素,并在可能的情况下将其简化为单个向量。将"r“替换为其他名称以获取其他部分。
发布于 2013-03-06 05:21:22
您可以使用以下命令将其放入矩阵或数据帧中:
mtx <- do.call(rbind, object)您可以通过以下方式按位置访问个人元素:
listname[[291]] # should return
r k sigma
97.0 329.8 397.7 https://stackoverflow.com/questions/15234208
复制相似问题