R:将多个不同长度列表中的项目相加?

标签 r

我有以下列表:

l1 <- list(a = 3, b = 4, c = 8, d = 1)

l2 <- list(a = 3, b = 2, c = 5, d = 1, f = 4, g = 13)

如何通过根据名称对两个列表中的项目求和来合并两个列表,如下所示:
l1 + l2 = list(a=6, b=6, c=13, d=2, f=4, g=13)

最佳答案

你可以用 dplyr 来解决它如下:

l1 <- list(a = 3, b = 4, c = 8, d = 1)
l2 <- list(a = 3, b = 2, c = 5, d = 1, f = 4, g = 13)

library(dplyr)

bind_rows(lapply(list(l1, l2), as.data.frame)) %>%
colSums(na.rm=TRUE) %>%
as.list()

关于R:将多个不同长度列表中的项目相加?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32504351/

相关文章:

r - sprintf 失败,数字长度超过 9 位

r - R中的实心矩形

r - 在 R 中提取一个固定长度的字符

r - 根据大于或小于前一列中的条件,向 R 中的数据框添加一列

python - 调用PyPI包中的其他脚本

r - 将图例添加到 geom_vline

r - 如何使用 dplyr 选择每组中具有最大值的行?

r - 在两个时间戳之间左加入 R

r - 如何在R中将UTM坐标转换为纬度和经度

r - 如何为每个条件添加中位数和标准偏差