我有一个名为Vectorize
的{{1}} d函数(如下)。我的目标是能够获得一个子列表作为此函数的输出。也就是说,当我运行该函数时,我将能够将函数调用保存为对象(例如vec
),然后使用I
中的$
对所需的输出进行子集,在这种情况下像这样(下面的第一次运行函数I
):
vec
这是否可以使用I = vec(L = .3, U = .6, level = seq(.5, .95, .1)) ; I$alpha ; I$beta
? (非常感谢您的专业知识)
这是R函数:
Vectorize
答案 0 :(得分:0)
该函数已经过矢量化,但输出位于list
。因此,我们循环遍历list
元素以提取“alpha”字母'和' beta'部件
sapply(I, '[[', 'alpha')
#[1] 2.371449 3.562465 5.278213 7.939884 12.918233
sapply(I, '[[', 'beta')
#[1] 2.863406 4.336959 6.461091 9.757192 15.922938
请注意,输出可以简化为具有两行的矩阵
simplify2array(I)
或两列matrix
do.call(rbind, I)