【发布时间】:2020-02-08 19:33:56
【问题描述】:
我是 R 新手,正在尝试做一个业余项目来补充我的课堂学习。
我正在尝试匹配类似这个向量的东西
```{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
【问题讨论】:
-
尽量保持问题的具体和重点。如果您有两个不同的问题,则应将它们分成两个单独的帖子
-
第二个问题用索引矩阵解决:
inx_mat <- cbind(row = seq_along(matrixvalues), col = matrixvalues)然后用这个inx_mat得到你想要的值,matrixchar[inx_mat]。 -
@camille 这样更好吗?问题冷却时间结束后,我将重新提交另一个问题。
标签: r object matrix vector knitr