r - R基于匹配的嵌套列表名称对嵌套列表元素应用函数
问题描述
假设我有一个命名的嵌套列表l
,其中包含命名数字向量的子列表,每个长度为 1:
l <- list("L1" = list('a' = 1, 'b' = 2), "L2" = list('a'= 2, 'c' = 1, 'd' = 1))
我正在努力在基础 R 中找到一种方法来应用一个函数,例如sum
用于所有具有相似名称的匹配子列表(例如 l$L1$a 和 l$L2$a,其总和为 3)。例如,使用sum
in应用的结果l
将是一个命名向量res
:
> res
a b c d
3 2 1 1
在(我的)现实生活中,列表l
具有可变和未知的子列表的数量和长度L1
,L2
...,...,以及类似的,要求和的数字向量的名称和数量(a
... b
)也是可变的,并且未知。但是,列表的深度始终如图所示。
解决方案
一种dplyr
选择可能是:
bind_rows(l) %>%
summarise_all(~ sum(., na.rm = TRUE))
a b c d
<dbl> <dbl> <dbl> <dbl>
1 3 2 1 1
推荐阅读
- javascript - 按下按钮后呈现获取结果
- html - 在智能手机导航栏(菜单)或我的新设计不滚动
- python - 在正则表达式 Python 中选择
- python-3.x - OSError:无法打开文件(无法打开文件)
- c - glibc“login_tty()”函数的代码解释:“open(ttyname)”紧跟“close()”
- html - HTML CSS 定位图片不顾一切
- java - 在 android 和 php 之间使用 libsodium
- java - 套接字被中断 - Modbus - J2Mod
- cakephp-3.0 - 如何在 cakephp 3.6.7 中发送电子邮件 ..?
- javascript - Node.js 可执行文件不包含我的前端技术