在R中管理Vectorized函数的输出

时间:2017-12-14 04:05:57

标签: r function output vectorization

我有一个名为Vectorize的{​​{1}} d函数(如下)。我的目标是能够获得一个子列表作为此函数的输出。也就是说,当我运行该函数时,我将能够将函数调用保存为对象(例如vec),然后使用I中的$对所需的输出进行子集,在这种情况下像这样(下面的第一次运行函数I):

vec

这是否可以使用I = vec(L = .3, U = .6, level = seq(.5, .95, .1)) ; I$alpha ; I$beta? (非常感谢您的专业知识)

这是R函数:

Vectorize

1 个答案:

答案 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)