我在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如何读取这些表达式?
答案 0 :(得分:0)
第一个表达式如下:
`[`(tic_tac_toe,1,2)
即:它将索引函数[
与
tic_tac_toe
第二个表达式如下:
`[`( `[`(tic_tac_toe,1), 2)
因此,您首先将该索引函数应用于tic_tac_toe
,但这次仅使用一个额外的参数。这将矩阵视为一维对象(确切地说是一个向量)并选择第一个元素。在此结果上,您再次应用索引函数,但这次使用2作为唯一参数。因此,您选择包含tic_tac_toe
的第一个元素的向量的第二个元素。
简而言之:你的第一个表达是有意义的,你的第二个表达没有。
在旁注中:矩阵在内部不是别的,而是附加了维度属性的向量。这就是为什么如果你只使用一个维度的索引,矩阵被视为一个向量。