使用" isTRUE"比较向量?

时间:2018-03-12 19:00:50

标签: r

请看这个简单的代码:

> x = c(1,2,3,4,5,6,7,8,9)
> data = matrix(x,nrow = 3, ncol = 3) 
> v1 = colMeans(data)
> v1
[1] 2 5 8
> v2 = apply(data, 2, mean)
> v2
[1] 2 5 8
> identical(v1, v2)
[1] TRUE
> all.equal(v1, v2)
[1] TRUE
> isTRUE(v1 == v2)
[1] FALSE

" IsTrue运算"将比较显示为FALSE,这意味着将其用于比较向量是不可能的吗?

2 个答案:

答案 0 :(得分:6)

那是对的。

> isTRUE
function (x) 
identical(TRUE, x)
<bytecode: 0x000000002824e1c0>
<environment: namespace:base>

isTRUE用于检查某些内容是否与TRUE相同。 TRUE值的向量与TRUE不同。也许您想使用all

> all(c(TRUE, TRUE))
[1] TRUE

答案 1 :(得分:1)

来自?isTRUE

  

isTRUE(x)是相同的缩写(TRUE,x),如果是,则为true   并且仅当x是长度为一的逻辑向量时,其唯一的元素是   TRUE,没有属性(甚至没有名称)。

你可以:

isTRUE(all(v1 == v2))