我想将值附加到R中的江河图中的标签上,这是我问题的第二个(令人困惑的)部分,我决定分成两个问题,第一个问题是:Sum each list of numerical values within a list
我有一个值列表,用于显示节点之间的流,如下所示:
edges <- list( A= list( C= 10, E= 5 ),
B= list( C= 10 ),
C=list(D = 13, E = 7 ))
问题:如何实现子列表中的项目之和,计算整个列表,如:
C 20
D 13
E 12
我认为这些项目应该首先提取到一个数据框架中,然后进行总结。或者,是否有一些公式可以将子列表分解,然后根据类别(C、D、E)对其中包含的项进行求和。
我想知道如何使用函数,但是对几个子列表进行处理似乎非常复杂。
发布于 2016-06-28 08:02:47
library(data.table)
colSums(rbindlist(edges, fill=T), na.rm=T)
# C E D
#20 12 13
或者:
library(dplyr)
colSums(bind_rows(edges), na.rm=T)
# C E D
#20 12 13
发布于 2016-06-28 08:36:04
我们可以使用base R
un1 <- unlist(edges)
tapply(un1, sub(".*\\.", "", names(un1)), FUN = sum)
# C D E
# 20 13 12
https://stackoverflow.com/questions/38070362
复制相似问题