【问题标题】:How to get the last element in a list in R如何获取R中列表中的最后一个元素
【发布时间】:2018-12-01 14:41:51
【问题描述】:

我想获取列表中的最后一个元素。我发现通过使用 sapply 函数,可以得到第一个元素。

sapply(a,`[`,1)

但是,我实际上不明白[ 的含义是什么,以及如何以类似的方式获取最后一个元素。此代码不起作用。

sapply(a,`]`,1)

【问题讨论】:

  • sapply(a, tail, 1)
  • [ 是对索引操作的引用。这就是当您执行a[1] 时所调用的内容
  • mapply(`[`, a, lengths(a))
  • 当您调用a[1] 时,解析器会将其解释为'['(a,1),您可以将前者视为一个简单的快捷方式。函数] 不存在。您可以直接使用函数[,实际上我相信它只有在像您在示例中那样将其作为参数传递时才有用

标签: r list sapply


【解决方案1】:

我带着同样的问题来到这里,发现答案一定被忽略了,但对我来说,@akrun 像往常一样得到了对我有用的答案。所以在没有正确答案的情况下是:

sapply(a, tail, 1)

【讨论】:

    【解决方案2】:

    使用列表/向量的长度:

    a[length(a)]
    

    对于最后“n”个元素:

    a[length(a)-n+1]
    

    示例:

    a[length(a)-1] #the 2nd last element
    a[length(a)-2] #the 3rd last element
    a[length(a)-8] #the 9th last element
    

    【讨论】:

      【解决方案3】:

      如果我正确地得到您的查询,它可能只是:

      tail(a, n = 1)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-10-30
        • 2022-11-15
        • 1970-01-01
        • 2017-02-18
        • 1970-01-01
        • 2018-08-25
        • 2014-03-11
        • 2022-01-01
        相关资源
        最近更新 更多