在R中,是否可以在矩阵中使用对、元组或等价物?

在R中,是否可以在矩阵中使用对、元组或等价物?,r,R,我试图创建一个坐标索引矩阵,我使用sample函数从中随机选取一个。然后我用这些来选择另一个矩阵中的一个单元格。最好的方法是什么?问题在于如何将这些整数存储在矩阵中,以便它们易于分离。现在我将它们存储为带有逗号的字符串,然后将其拆分。有人建议我用一对或一根线,但我不能用接缝让它们与矩阵一起工作。谢谢 编辑:我目前所做的看起来有点改变,以便在上下文之外理解: probs <- matrix(c(0,0,0.6,0,0, 0,0.7,1,0.7,0,

我试图创建一个坐标索引矩阵,我使用sample函数从中随机选取一个。然后我用这些来选择另一个矩阵中的一个单元格。最好的方法是什么?问题在于如何将这些整数存储在矩阵中,以便它们易于分离。现在我将它们存储为带有逗号的字符串,然后将其拆分。有人建议我用一对或一根线,但我不能用接缝让它们与矩阵一起工作。谢谢

编辑:我目前所做的看起来有点改变,以便在上下文之外理解:


probs <- matrix(c(0,0,0.6,0,0,
                  0,0.7,1,0.7,0,
                  0.6,1,0,1,0.6,
                  0,0.7,1,0.7,0,
                  0,0,0.6,0,0),5,5)
  
cordsMat <- matrix("",5,5)

for (x in 1:5){
  for (y in 1:5){
      
    cordsMat[x,y] = paste(x,y,sep=",")
      
  }
}



cords <- sample(cordsMat,1,,probs)
cordsVec <- unlist(strsplit(cords,split = ","))
cordX <- as.numeric(cordsVec[1])
cordY <- as.numeric(cordsVec[2])

otherMat[cordX,cordY]
            

这是一种可行的方法,但我也对更好的方法感兴趣,因为这会重复很多次。

如果您想设置概率,可以通过将其提供给样本来轻松完成

创建矩阵 matrixsamplerep1:6、15:20、25、5->other.mat 将probs设置为vec
问题如果您包含一个简单的示例输入和所需的输出,可以用来测试和验证可能的解决方案,那么就更容易帮助您。让mat矩阵由坐标组成,即两列和n行,只需运行rand other。mat[mat[rand,1],mat[rand,2]]您在R中所称的矩阵实际上是一个2x2数组。在二维数组或其他数组中,所有元素必须是原子单int、单dbl、单字符串等。但是,如果所有元组都是长度2,则可以将元组的二维矩阵dim MxN转换为三维数组dim MxNx2。@MrFlick,抱歉,我添加了一个example@AbdessabourMtk我不确定我使用的加权概率是否适用。对不起,我应该先把这个例子放进去