R - 申请家庭(sapply vs. vapply)

时间:2017-07-15 08:15:00

标签: r

最近,我们的讲师向我们介绍了R中的申请家庭。 当我查看我的笔记时,我很困惑一部分关于sapply与vapply的应用,因为讲师表示它们基本相同。

我对sapply的理解是它试图简化它提供的参数并将其返回给用户。但是,由于输入向量具有可变长度,因此它并不总是返回简化值(我没有完全理解这一点)。然而,sapply不会指出这一点。

但是,使用vapply,如果不知道因为它会抛出错误消息并且你必须指定一个返回类型值,那么你就不会冒不得简化向量的风险。

在这种情况下,我的理解是vapply将是sapply的首选选项,因为它是更安全的选项。我问我的导师是否是这种情况,他说这一切都取决于个人喜好。

这是真的吗 - vapply和sapply本质上是相同的功能,除了一个比另一个更安全的故障安全?或者是否存在某些情况,您希望明确使用vapply而不是sapply,反之亦然?

我已阅读以下内容,这有助于从绩效角度阐明差异: Why is `vapply` safer than `sapply`?

编辑:我已经重新阅读了为什么是vapply-safer-than-sapply链接,但我不认为我完全可以解决这个问题。我的问题仍然存在,是否有一种情况下,sapply比更适合?这样的情况是否存在?

谢谢。

0 个答案:

没有答案