如何用R中的预处理值制作3x3矩阵?

如何用R中的预处理值制作3x3矩阵?,r,matrix,2d,R,Matrix,2d,我已经有了e1、e2、e3、e4、e5、e6的值,那么我如何在RStudio中将其放入以下形式的3x3矩阵中: [1] [2] [3] [1] e1 e4 e5 [2] e4 e2 e6 [3] e5 e6 e3 语法是按列的 matrix(c(1, 4, 5, 4, 2, 6, 5, 6, 3), ncol=3) # [,1] [,2] [,3] # [1,] 1 4 5 # [2,] 4

我已经有了e1、e2、e3、e4、e5、e6的值,那么我如何在RStudio中将其放入以下形式的3x3矩阵中:

   [1] [2] [3]
[1] e1  e4  e5
[2] e4  e2  e6
[3] e5  e6  e3 

语法是按列的

matrix(c(1, 4, 5, 
         4, 2, 6, 
         5, 6, 3), ncol=3)

#      [,1] [,2] [,3]
# [1,]    1    4    5
# [2,]    4    2    6
# [3,]    5    6    3

语法是按列的

matrix(c(1, 4, 5, 
         4, 2, 6, 
         5, 6, 3), ncol=3)

#      [,1] [,2] [,3]
# [1,]    1    4    5
# [2,]    4    2    6
# [3,]    5    6    3

填写非对角线,然后填写对角线:

x <- 1:6

out <- matrix(nrow=3,ncol=3)
out[c(which(lower.tri(out)), which(upper.tri(out)))] <- tail(x,3)
diag(out) <- head(x,3)

#     [,1] [,2] [,3]
#[1,]    1    4    5
#[2,]    4    2    6
#[3,]    5    6    3

填写非对角线,然后填写对角线:

x <- 1:6

out <- matrix(nrow=3,ncol=3)
out[c(which(lower.tri(out)), which(upper.tri(out)))] <- tail(x,3)
diag(out) <- head(x,3)

#     [,1] [,2] [,3]
#[1,]    1    4    5
#[2,]    4    2    6
#[3,]    5    6    3

这可以推广到不同于3的维度吗?例4?老实说,我不知道为什么我会得到这么多选票-@onyanbu下面的答案是一个更好的概括。因为你回答了这个问题,这可以概括为一个不同于3的维度吗?例4?说实话,我不知道为什么我会得到这么多选票-@onyanbu下面的答案是一个更好的概括。因为你的答案是一致的,我相信你也可以通过sqrt8*l+1-1/2来计算p。如果我试着概括我的答案,我会得到你的答案,唯一的区别是这个计算。你也可以通过sqrt8*l+1-1/2来计算p,我相信。如果我试图概括我的答案,我的答案和你的差不多,唯一的区别就是这个计算。