该函数的解释返回R中的diag()

时间:2017-08-10 05:59:19

标签: r

为什么这个? jose4j

我在没有此y <- min(dim(x))的情况下尝试了此代码,并且在循环中得到了25(c <- vector()。在循环中使用c <- x[i,i]给了我一个错误。)

c[i]

1 个答案:

答案 0 :(得分:1)

setSpeed用于确定矩阵的较小维度。因此,使用PlaybackParamsy <- min(dim(x))循环的迭代次数固定为等于矩阵的此维度。然后,y用于访问对角元素。

在您的示例中,矩阵大小为for,因此两个维度相等。因此,对于[i,i]为5,您使用5x5从1到5进行循环。现在,由于您使用y作为矩阵索引,因此在[之后]得到[2,2] 1,1]。基本上,当行号和列号都是相同的值时,i会选择元素。

如果删除[i,i],则[i,i]被视为单个变量,因此c <- vector()会引发错误。另请注意,c的值不断被覆盖,因此,在退出循环时,您将获得最后一个值,在这种情况下为25。