df1 <- data.frame(Profit=c(7,2,8), CSR=c(1, 5, 9), row.names = c("A", "B", "C"))
df2 <- data.frame(Profit=c(13,4,2), CSR=c(4, 2, 8), row.names = c("A", "B", "C"))
df3 <- data.frame(Profit=c(6,2,5), CSR=c(3, 8, 20), row.names = c("A", "B", "C"))
l<-list(df1, df2, df3)
l
dfmean<- data.frame(Profit=c(9,3,5), CSR=c(2, 6, 13), row.names = c("A", "B", "C"))
dfmean


我想在存储在列表中的所有三个(或更多)数据帧上调用一个函数(在这里:均值),返回那些合并在一个数据帧中的数据帧。在这种情况下,它看起来应该像dfmean。

最佳答案

您可以使用Reduce("+", l)将它们全部相加,然后将该总和除以数据帧的总数。

Reduce("+", l) / length(l)
#     Profit       CSR
# A 8.666667  2.666667
# B 2.666667  5.000000
# C 5.000000 12.333333

08-04 17:00