使用两个表达式,all函数在R中是如何工作的?

使用两个表达式,all函数在R中是如何工作的?,r,R,我对R中的all函数有一个问题 设a和b两个向量: a <- c(Inf,0) b <- c(1,0) 当我尝试计算表达式alla==b时,函数返回FALSE,是OK,如果计算表达式alla==Inf,函数返回FALSE,到目前为止一切正常,但如果我尝试计算表达式alla==b | a==Inf,函数返回TRUE 有人能解释一下原因吗?OR是按列完成的: 对错 a==Inf | a==b >[1]没错 在每一列中都有一个TRUE,因此每一列都是TRUE当您键入help |时,您将

我对R中的all函数有一个问题

设a和b两个向量:

a <- c(Inf,0)

b <- c(1,0)
当我尝试计算表达式alla==b时,函数返回FALSE,是OK,如果计算表达式alla==Inf,函数返回FALSE,到目前为止一切正常,但如果我尝试计算表达式alla==b | a==Inf,函数返回TRUE

有人能解释一下原因吗?

OR是按列完成的:

对错 a==Inf | a==b >[1]没错 在每一列中都有一个TRUE,因此每一列都是TRUE

当您键入help |时,您将看到|是元素或

在这种情况下,给定

> (a == b)
[1] FALSE  TRUE

> (a == Inf)
[1]  TRUE FALSE
表达式a==b | a==Inf等价于

c(FALSE, TRUE) | c(TRUE, FALSE)

得到的逻辑数组是cTRUE,TRUE,当你在它上面应用时,它会给你TRUE。

比我强!哈哈,你太快了,哈哈!向上投票@托马斯科德:今天是一个特殊的日子,R上有999个标签,迫不及待地想达到1000-令人惊叹的干杯你很快就会明白的:我想我不知道你还能从中期待什么?在未来,提供您预期的输出和输出背后的推理不仅可以帮助您获得更好的答案,还可以帮助您获得告诉您如何实现实际期望的答案。在这种情况下,我猜您可能想要像alla==b | alla==Inf这样的东西,但很难说,因为没有提供任何预期的输出。我必须将r代码转换为java代码,出于这个原因,我需要知道all函数在这个表达式中到底做了什么,我不知道r中的列方式是如何工作的。