如何在 R 中的第一个位置为列表的每个对象添加一个值

How can I add a value to every object of a list at the first position in R

我想知道是否有办法在第一个位置为 R 列表的每个元素添加一个“0”。

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 将列表作为参数,对每个元素应用一个函数,然后 returns 结果列表

lapply( mylist , function(x) c(0,x))

$a
[1] 0 1 2 3 4 5

$b
[1]  0 11 12 13 14 15

您可以像下面这样使用Map

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

这样

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

$b
[1]  0 11 12 13 14 15