【问题标题】:How to use the suitable function of apply-family on a list如何在列表上使用apply-family的合适功能
【发布时间】:2020-10-02 16:59:56
【问题描述】:

我有一个列表如下:

A<-list(10:20,35:45,70:80,45:39,86:120)

我想从这个列表中创建一个向量,该向量的元素是列表中每个项目的第二个元素。事实上,我想使用 apply-family 的函数来制作向量 (11,36,71,44,87)。我的问题是 apply-family 的哪些功能(即 apply、sapply、tapply、lapply)更适合这种情况以及如何使用?

我还想求上面列表中每一项的总和。我知道我可以轻松地为 sum(10:20)、sum(35:45)、sum(70:80) 等每个项目分别使用 sum 函数,但我怎样才能以更短的方式完成呢?

【问题讨论】:

    标签: r list apply


    【解决方案1】:

    我们可以遍历list 并提取第二个元素

    sapply(A, `[`, 2)
    #[1] 11 36 71 44 87
    

    如果我们想求和

    sapply(A, sum)
    #[1]  165  440  825  294 3605
    

    【讨论】:

    • 感谢@akrun 的回答。所以对于这种情况,我们需要使用 sapply。我对 apply-family 的功能(即 apply、sapply、lapply 和 tapply)不太熟悉。当我应该在适当的情况下使用它们中的哪一个时,我总是感到困惑。
    • 我如何考虑投票?我想我现在做到了。
    猜你喜欢
    • 2015-05-03
    • 1970-01-01
    • 1970-01-01
    • 2014-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多