从R中的矩阵中读取元素

时间:2017-04-10 12:04:37

标签: r matrix

我在R:

中定义了以下矩阵(tic_tac_toe
     [,1] [,2] [,3]
[1,] "O"  NA   "X"     
[2,] NA   "O"  "O" 
[3,] "X"  NA   "X"

当我尝试使用tic_tac_toe[1,2]tic_tac_toe[1][2]访问该元素时,R如何读取这些表达式?

1 个答案:

答案 0 :(得分:0)

第一个表达式如下:

`[`(tic_tac_toe,1,2)

即:它将索引函数[

一起应用
  • 作为矩阵tic_tac_toe
  • 的第一个参数
  • 作为第二个参数,第一个维度(行)中的选择
  • 作为第三个参数,第二个维度中的选择(列)

第二个表达式如下:

`[`( `[`(tic_tac_toe,1), 2)

因此,您首先将该索引函数应用于tic_tac_toe,但这次仅使用一个额外的参数。这将矩阵视为一维对象(确切地说是一个向量)并选择第一个元素。在此结果上,您再次应用索引函数,但这次使用2作为唯一参数。因此,您选择包含tic_tac_toe的第一个元素的向量的第二个元素。

简而言之:你的第一个表达是有意义的,你的第二个表达没有。

在旁注中:矩阵在内部不是别的,而是附加了维度属性的向量。这就是为什么如果你只使用一个维度的索引,矩阵被视为一个向量。