Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 按位置列出元素的平均值_R_List_Mean - Fatal编程技术网

R 按位置列出元素的平均值

R 按位置列出元素的平均值,r,list,mean,R,List,Mean,假设我有一个数字向量列表,如下所示: lst45 <- structure(list(CanESM2 = structure(c(75172.3232265472, 68514.4574398041, 70116.8608039856, 74918.7828659058, 74355.116765213, 70350.6421344757, 67336.5649261475, 71819.5331493378, 71239.2236221314), .Names = c("layer.1"

假设我有一个数字向量列表,如下所示:

lst45 <- structure(list(CanESM2 = structure(c(75172.3232265472, 68514.4574398041, 70116.8608039856, 74918.7828659058, 74355.116765213, 70350.6421344757, 67336.5649261475, 71819.5331493378, 71239.2236221314), .Names = c("layer.1", "layer.2", "layer.3", "layer.4", "layer.5", "layer.6", "layer.7", "layer.8", "layer.9")), `GFDL-ESM2M` = structure(c(74736.6871696472, 74668.9771896362, 70693.9238479614, 72538.5751586914, 68865.4270866394, 76652.1024021149, 72507.3696491241, 72044.253433609, 70758.3188240051), .Names = c("layer.1", "layer.2", "layer.3", "layer.4", "layer.5", "layer.6", "layer.7", "layer.8", "layer.9")), inmcm4 = structure(c(64797.6587924957, 70213.8876274109, 72865.955796051, 72756.7691856384, 76886.3437725067, 78064.3871330261, 70558.1268108368, 71354.149344635, 72268.3041442871), .Names = c("layer.1", "layer.2", "layer.3", "layer.4", "layer.5", "layer.6", "layer.7", "layer.8", "layer.9")), `MRI-CGCM3` = structure(c(83597.9063896179, 79029.3697322845, 83841.0448295593, 82892.550799942, 75588.5374900818, 74541.5410072327, 84481.3175567627, 74491.1396362305, 79476.2405437469), .Names = c("layer.1", "layer.2", "layer.3", "layer.4", "layer.5", "layer.6", "layer.7", "layer.8", "layer.9")), `NorESM1-M` = structure(c(77061.6410392761, 73100.7215652466, 74400.8042865753, 69916.0041610718, 71969.7732620239, 70910.7214992523, 68759.73670578, 67605.5678882599, 66542.3943050385), .Names = c("layer.1", "layer.2", "layer.3", "layer.4", "layer.5", "layer.6", "layer.7", "layer.8", "layer.9"))), .Names = c("CanESM2", "GFDL-ESM2M", "inmcm4", "MRI-CGCM3", "NorESM1-M"))

# $CanESM2
#  layer.1  layer.2  layer.3  layer.4  layer.5  layer.6  layer.7  layer.8  layer.9 
# 75172.32 68514.46 70116.86 74918.78 74355.12 70350.64 67336.56 71819.53 71239.22 
# 
# $`GFDL-ESM2M`
#  layer.1  layer.2  layer.3  layer.4  layer.5  layer.6  layer.7  layer.8  layer.9 
# 74736.69 74668.98 70693.92 72538.58 68865.43 76652.10 72507.37 72044.25 70758.32 
# 
# $inmcm4
#  layer.1  layer.2  layer.3  layer.4  layer.5  layer.6  layer.7  layer.8  layer.9 
# 64797.66 70213.89 72865.96 72756.77 76886.34 78064.39 70558.13 71354.15 72268.30 
# 
# $`MRI-CGCM3`
#  layer.1  layer.2  layer.3  layer.4  layer.5  layer.6  layer.7  layer.8  layer.9 
# 83597.91 79029.37 83841.04 82892.55 75588.54 74541.54 84481.32 74491.14 79476.24 
# 
# $`NorESM1-M`
#  layer.1  layer.2  layer.3  layer.4  layer.5  layer.6  layer.7  layer.8  layer.9 
# 77061.64 73100.72 74400.80 69916.00 71969.77 70910.72 68759.74 67605.57 66542.39

lst45这可以通过几种方式实现。我建议买两个。第一:

colMeans(do.call(rbind,lst45))
在这里,列表的所有元素被
rbind
组合在一起,形成一个
矩阵
,我们可以调用
colMeans
来获得每列的平均值

另一种方式:

Reduce(`+`,lst45)/length(lst45)
列表的第一个向量和第二个向量相加,结果和第三个向量相加,依此类推。最后,我们除以列表中的元素数以获得平均值。

行平均值(data.frame(lst45))
(如果您不是列主修)