首页 > 解决方案 > 在R中如何合并列表

问题描述

我有一个清单

$true
[1] 0

$false
[1] 183

$false
[1] 0

$true
[1] 110

我需要删除重复和归零的元素。

理想情况下,我会将所有具有相同名称的元素相加,但考虑到它们是零,我可以将它们排除在外,得到这样的结果:

$false
[1] 183

$true
[1] 110

谢谢。

标签: r

解决方案


tapply()如果我们使用列表,我们可以使用unlist列表名称作为组。

tapply(unlist(x), names(x), sum, simplify = FALSE)
# $false
# [1] 183
#
# $true
# [1] 110

如果不需要获取列表结果,我们可以 drop simplify

tapply(unlist(x), names(x), sum)
# false  true 
#   183   110 

x你的清单在哪里。


推荐阅读