R中3D阵列列表的平均值

时间:2016-01-26 12:55:14

标签: r list

如何计算存储在R列表中的数组的平均值?结果应该是包含方法的相同大小的数组...例如:

a1 <- array(runif(100), dim=c(4, 5, 5))
a2 <- array(runif(100), dim=c(4, 5, 5))
a3 <- array(runif(100), dim=c(4, 5, 5))
a4 <- array(runif(100), dim=c(4, 5, 5))
a5 <- array(runif(100), dim=c(4, 5, 5))

l <- list(a1, a2, a3, a4, a5)

[...]

应该产生一个包含平均值的维数为4,5,5的数组。

我可以通过以下方式获取矩阵列表:

apply(simplify2array(myList), 1:2, mean)

但它并不适用于我的目的......

感谢您的任何线索!

2 个答案:

答案 0 :(得分:1)

我们可以使用Reduce

Reduce(`+`, l)/length(l)

答案 1 :(得分:1)

您可以先将数组列表转换为4D数组,然后使用public void GetExcel() { var list = (IList<LeaseViewModel>)Session["currentList"]; var grd = new GridView { DataSource = list, AutoGenerateColumns = true }; grd.DataBind(); Response.ClearContent(); Response.AddHeader("Content-type", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); Response.AddHeader("content-disposition", "attachment;filename=Leases.xls"); Response.ContentType = "application/excel"; var swr = new StringWriter(); var tw = new HtmlTextWriter(swr); grd.RenderControl(tw); Response.Write(swr.ToString()); Response.Flush(); Response.End(); tw.Close(); swr.Close(); }

apply