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
答案 0 :(得分:10)
all.equal
未返回该错误,!
为:
> !""
Error in !"" : invalid argument type
这是因为all.equal
在两个对象大致不相等时不返回逻辑值。这在?all.equal
的第一段中有记录,建议您使用isTRUE(all.equal(...))
。