我有12個data.frames(所有相同的形式)(總)的列表,我需要在科拉姆列表中的每一行的總和2.和元素
我「M搜索來總結整個列表中的元素這樣一個聰明的方法:
Total[[1]][,2] + Total[[2]][,2] + Total[[3]][,2] +..+Total[[12]][,2]
科拉姆2具有70的長度,從而其結果應該是長的矢量70
希望別人知道自己的權利sapply
,lapply
或apply
功能代碼
我有12個data.frames(所有相同的形式)(總)的列表,我需要在科拉姆列表中的每一行的總和2.和元素
我「M搜索來總結整個列表中的元素這樣一個聰明的方法:
Total[[1]][,2] + Total[[2]][,2] + Total[[3]][,2] +..+Total[[12]][,2]
科拉姆2具有70的長度,從而其結果應該是長的矢量70
希望別人知道自己的權利sapply
,lapply
或apply
功能代碼
這裏有一個選項:但是
Reduce("+", lapply(Total, "[[", 2))
注意,這不,因爲+
潛力來港玩好。
下面是內置的數據爲例:
Reduce("+", lapply(list(iris, iris, iris), "[[", 2))
我們可以提取的data.frame
的list
第二列使用後rowSums
。如果有任何缺失值,na.rm=TRUE
將負責處理。
rowSums(sapply(Total, `[[`, 2), na.rm = TRUE)
或者另一種選擇是tidyverse
library(tidyverse)
Total %>%
map(~.[[2]]) %>%
#or as suggested in the comments
#map(2) %>%
reduce(`+`)
也許'減少( 「+」,lapply(總, 「[」,2))' –
@docendodiscimus我因子評分的,準確的解。你爲什麼不把它作爲答案加入,你會從我這裏得到讚揚。 –
如果其中一個答案解決了您的問題,請考慮單擊旁邊的複選標記來接受它。另見:http://stackoverflow.com/help/someone-answers – Cath