在 R 中组合两个列表
我有两个列表 l1
和 l2
,我想将它们组合起来看起来像预期
,并使用 lapply< 获取平均值/代码>。我希望它更有效,这样我就不必每次都输入值,因为我想将其用于更大的列表。实现这一目标的更好方法是什么?
l1 <- list(1,2,3,4,5)
l2 <- list(6,7,8,9,10)
expected <- list(c(1,6), c(2,7), c(3,8), c(4,9), c(5,10))
lapply(expected, mean)
谢谢你!
I have two list l1
and l2
that I would like to combined to look like the expected
, and get the mean using lapply
. I would like it to be more effecient so that I don't have to type out the values everytime, because I would like to use this for a larger list. What might be a better way of accomplishing this?
l1 <- list(1,2,3,4,5)
l2 <- list(6,7,8,9,10)
expected <- list(c(1,6), c(2,7), c(3,8), c(4,9), c(5,10))
lapply(expected, mean)
Thank you!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我们可以使用
Map
来连接 (c
) 并获取mean
或者不用在循环中执行此操作,
unlist
> 都list
到向量,cbind
到矩阵
并获取rowMeans
或者可以使用
pmean
来自套件
We may use
Map
to concatenate (c
) and get themean
Or instead of doing this in a loop,
unlist
bothlist
to a vector,cbind
to amatrix
and get therowMeans
Or may use
pmean
fromkit
另一种可能的解决方案:
或者使用 purrr::map2_dbl :
Yet another possible solution:
Or using
purrr::map2_dbl
:另一种选择是在两个列表上使用一个简单的公式(根据下面的基准,它比
pmean
稍快):Benchmark
为了确定最快的,我创建了一个稍微快一点的公式两个列表的更大数据集,每个列表的长度为 1,000。然后,我比较了迄今为止发布的所有方法。
- 代码
Another option is to use a simple formula on the two lists (which is slightly faster than
pmean
according to the benchmark below):Benchmark
To determine the fastest, I created a slightly larger dataset of two lists that each have a length of 1,000. Then, I compared all of the methods posted so far.
-code