对data.frames列表中的Sum元素

时间:2017-04-26 08:12:17

标签: r list sum lapply sapply

我有一个列表(总计)的12个data.frames(所有相同的形式),我需要列2中列表的每一行的总和。

我正在寻找一种更智能的方法来对列表中的元素进行求和,如下所示:

Total[[1]][,2] + Total[[2]][,2] + Total[[3]][,2] +..+Total[[12]][,2]

colum 2的长度为70,因此结果应该是长度为70的矢量

希望有人知道他对sapplylapplyapply功能代码

2 个答案:

答案 0 :(得分:12)

这是一个选项:

Reduce("+", lapply(Total, "[[", 2))

但是请注意,由于+,这对潜在的NA并不适用。

以下是内置数据的示例:

Reduce("+", lapply(list(iris, iris, iris), "[[", 2))

答案 1 :(得分:7)

我们可以在rowSums的{​​{1}}中提取第二列后使用list。如果有任何缺失值,data.frame将负责处理。

na.rm=TRUE

或另一个选项是rowSums(sapply(Total, `[[`, 2), na.rm = TRUE)

tidyverse
相关问题