&引用;无效的参数类型";与all.equal一起出错。R

&引用;无效的参数类型";与all.equal一起出错。R,r,R,all.equal()给出了这些数据的“无效参数类型”错误。有什么想法吗 >matrix1 1 2 3 4 5 1 0 0 0.0 0 0.0 2 1 0 0.0 0 0.0 3 0 1 0.0 0 0.0 4 0 0 0.5 0 0.5 5 0 0 1.0 0 0.0 >rowSums(matrix1) 1 2 3 4 5 0 1 1 1 1 > !all.equal(as.vector(rowSums(matrix1)), as.vector(rep(1,

all.equal()给出了这些数据的“无效参数类型”错误。有什么想法吗

>matrix1
  1 2   3 4   5
1 0 0 0.0 0 0.0
2 1 0 0.0 0 0.0
3 0 1 0.0 0 0.0
4 0 0 0.5 0 0.5
5 0 0 1.0 0 0.0
>rowSums(matrix1)
1 2 3 4 5 
0 1 1 1 1 
> !all.equal(as.vector(rowSums(matrix1)), as.vector(rep(1, nrow(matrix1))), check.attributes=FALSE)
Error in !all.equal(as.vector(rowSums(matrix1)), as.vector(rep(1,  : 
  invalid argument type

all.equal
不会返回该错误,
是:

> !""
Error in !"" : invalid argument type
这是因为当两个对象不大致相等时,
all.equal
不会返回逻辑值。这在
?all.equal
的第一段中有记录,其中建议您使用
isTRUE(all.equal(…)