什么((111> = 111)|!(TRUE))& ((4 + 1)== 5)是什么意思?

时间:2016-04-14 13:12:36

标签: r

我正在学习R,我遇到了这个表达:

((111> = 111)|!(TRUE))& ((4 + 1)== 5)

有人知道这意味着什么吗?我试着问我的计量经济学教授,但他并没有自己使用R.所以他不知道。

谢谢。

1 个答案:

答案 0 :(得分:4)

你在哪里遇到过这个表达?这很可能只是为了让你考虑R中的评估和布尔值。本质上,在括号内工作并向外工作,直到没有任何东西需要评估。让我们一步一步地完成它:

((111 >= 111) | !(TRUE)) & ((4 + 1) == 5)

第1步:

(111 >= 111)。好吧,这是TRUE因为111 == 111.所以现在我们有以下(TRUE | !(TRUE)) & ((4 + 1) == 5)

第2步:

!(TRUE)!表示“不”,只是反转一个布尔值。因此,!TRUEFALSE相同,!FALSETRUE相同。因此,我们留下了这个:(TRUE | FALSE) & ((4 + 1) == 5)

第3步:

(TRUE | FALSE)|表示“或”,并检查至少一个条件是否为TRUE。在这里,我们有两个条件,TRUEFALSE。由于其中一个是TRUE,因此整个表达式的计算结果为TRUE。因此,我们现在有TRUE & ((4 + 1) == 5)

第4步:

((4 + 1) == 5)。这显然是TRUE 4 + 1 == 5,因此我们现在有TRUE & TRUE

第5步:

TRUE & TRUE&表示“和”,它会检查所有条件是TRUE。由于我们的两个条件是TRUETRUE,因此所有条件都是TRUE,因此评估为TRUE

因此,在评估的5个步骤结束时,我们发现整个表达式的计算结果为TRUE。通过阅读评论中提供的@mtoto链接,您将从中受益匪浅,以帮助您更好地理解这一点。

希望有所帮助。