r语言 - 我如何使一个数组的两个矩阵与一个向量?



从包含元素1到20的向量生成两个3X4矩阵的数组。按列填写

  1. 为数组添加合适的行名、列名和矩阵名。
  2. 使用apply函数,查找数组中列元素的和。
  3. 在一行代码中,找到数组中每个矩阵的平均值。结果应该是两个数字的向量,每个矩阵一个。

以上就是我想解决的问题。我尝试的是下面的代码

y <- array(1:20, dim = c(3,4,2))
print(y)

它似乎是有效的。我怎么定义按列填充呢?此外,如何使用单个向量添加名称?通常应该至少有两个这样的向量

result <- array(c(vector1, vector2), dim = c(3,3,2))

这是R的介绍,OP应该阅读R的介绍,文件R- Introduction .pdf,每个R的安装都有。

为了按列填充矩阵,没有什么特别要做的,R已经按列主顺序填充了。
注意3*4*2 == 24,因为只有1:20的值被接受,所以最后4个值被回收。

y <- array(1:20, dim = c(3,4,2))
dimnames(y) <- list(paste("row", 1:3, sep = "_"),
paste("col", 1:4, sep = "_"),
paste("matrix", 1:2, sep = "_"))
y
#, , matrix_1
#
#      col_1 col_2 col_3 col_4
#row_1     1     4     7    10
#row_2     2     5     8    11
#row_3     3     6     9    12
#
#, , matrix_2
#
#      col_1 col_2 col_3 col_4
#row_1    13    16    19     2
#row_2    14    17    20     3
#row_3    15    18     1     4

现在列按三维求和

apply(y, 3, colSums)
#      matrix_1 matrix_2
#col_1        6       42
#col_2       15       51
#col_3       24       40
#col_4       33        9

和各矩阵的均值。

apply(y, 3, mean)
#matrix_1 matrix_2 
# 6.50000 11.83333 

最新更新