【问题标题】:How can I add a value to every object of a list at the first position in R如何在 R 中的第一个位置为列表的每个对象添加一个值
【发布时间】:2020-02-28 13:21:36
【问题描述】:

我想知道是否有一种方法可以将“0”添加到 R-list 的每个元素的第一个位置。

mylist <- list (a = 1:5, b = 11:15)

我正在寻找一种产生以下结果的简单方法:

mylist[[1]]

[1] 0 1 2 3 4 5

mylist[[2]]

[1] 0 11 12 13 14 15

当然,我的列表中的对象远不止两个。

【问题讨论】:

  • 试试lapply函数。 lapply(mylist, function(x) "put your function here") 想象为向量编写一个命令来执行此操作,例如 x。将该命令放在“”中。

标签: r list position element add


【解决方案1】:

你可以像下面这样使用Map

mylist[] <- Map(c, 0, mylist)

这样

> mylist
$a
[1] 0 1 2 3 4 5

$b
[1]  0 11 12 13 14 15

【讨论】:

    【解决方案2】:

    lapply 将列表作为参数,对每个元素应用一个函数并返回结果列表

    lapply( mylist , function(x) c(0,x))
    
    $a
    [1] 0 1 2 3 4 5
    
    $b
    [1]  0 11 12 13 14 15
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-23
      • 2019-12-17
      • 2011-06-12
      • 1970-01-01
      • 2020-10-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-13
      相关资源
      最近更新 更多