如何对数值向量和字符矩阵进行网格划分?

How Do I Mesh a Numeric Vector and a Character Matrix?

我是 R 的新手,正在尝试做一个副项目来补充我在 class 中的学习。

我正在尝试匹配像这样的矢量

```{R}
matrixvalues <- sample(8, 8 , replace=TRUE)
```

在此示例中,结果为

8 3 4 2 4 5 5 1

到这个矩阵

#     [,1]  [,2]  [,3]  [,4] [,5] [,6] [,7] [,8]
#[1,] "C"  "S"  "H"  "H"  "H"  "H"  "H"  "M" 
#[2,] "C"  "S"  "H"  "H"  "H"  "H"  "H"  "M" 
#[3,] "C"  "S"  "H"  "H"  "H"  "H"  "H"  "M" 
#[4,] "C"  "S"  "H"  "H"  "H"  "M"  "M"  "M" 
#[5,] "C"  "S"  "H"  "H"  "H"  "M"  "M"  "M" 
#[6,] "C"  "S"  "H"  "M"  "M"  "M"  "M"  "M" 
#[7,] "C"  "S"  "H"  "M"  "M"  "M"  "M"  "M" 
#[8,] "C"  "S"  "H"  "M"  "M"  "M"  "M"  "M"

对于向量中的每个值,它在矩阵列中按顺序匹配。

因此,输出向量在逻辑上将像...

Vector value 1 is 8, so row 1, column 8 is M...

Vector value 2 is 3, so row 2, column 3 is H...

等等...

所以得到的向量是

M , H , H , S , H , M , M , C

这是工作代码,我会随时更新它...

创建进攻矩阵

example <- c("C","S","H","H","H","H","H","M","C","S","H","H","H","H","H","M","C","S","H","H","H","H","H","M","C","S","H","H","H","M","M","M","C","S","H","H","H","M","M","M","C","S","H","M","M","M","M","M","C","S","H","M","M","M","M","M","C","S","H","M","M","M","M","M")
rollmatrix <- matrix (example, 8 , 8 , byrow = TRUE)
rollmatrix

掷骰子

set.seed(1234) 
matrixvalues <- sample( 8 , 8 , replace=TRUE)
matrixvalues

评估初始滚动

inx_mat <- cbind(row = seq_along(matrixvalues), col = matrixvalues)
initialroll <- rollmatrix[inx_mat]
initialroll

使用索引矩阵,在本例中为具有 2 列(行和列)的矩阵。

set.seed(1234)    # Make the code reproducible

x <- matrix(sample(LETTERS, 64, replace = TRUE), 8)
matrixvalues <- sample(8, 8, replace = TRUE)

现在是索引矩阵。

inx_mat <- cbind(row = seq_along(matrixvalues), col = matrixvalues)
x[inx_mat]
#[1] "S" "N" "V" "Z" "X" "K" "I" "F"