[]如何使用函数,是函数变为和元素的意思?

时间:2017-07-04 08:15:08

标签: r

我有一个低三角矩阵:

> Mat1
     [,1] [,2] [,3] [,4] [,5]
[1,]    0    0    0    0    0
[2,]    1    0    0    0    0
[3,]    3    3    0    0    0
[4,]    4    4    4    0    0
[5,]    4    1    1    3    0

lower.tri返回一个逻辑矩阵,其大小与给定矩阵的大小相同,下三角或上三角中的条目为TRUE(R help)。

然后让

lowt <– lower.tri(Mat1)
xx <– Mat1[lowt]
xx
[1] 1 3 4 4 3 4 1 4 1 3  

我的问题是Mat1 [lowt]是如何工作的?我们如何使用[]?将函数用作元素?这个想法是什么?有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

  

如何使用[]?!

将函数用作元素

lowt不是函数,而是一个布尔矩阵,就像你自己说的那样: lowt <– lower.tri(Mat1)lower.tri的返回变量保存在lowt中;因此,Mat1[lowt]通过逻辑索引从Mat1返回值 - 这是R中广泛使用的概念。