比较R中的两个向量

Dyl*_*lan 5 r

我有两个向量a = c(1,2,3),b = c(1,2,3)

我想测试是否a完全相同b.我知道结果可以给出sum(a == b) == length(a),但有没有优雅的方式?

akr*_*run 13

我们可以用 identical

identical(a,b)
#[1] TRUE
Run Code Online (Sandbox Code Playgroud)

或者,如果我们在比较中需要避免的属性存在一些差异,请使用 all.equal

all.equal(a,b, check.attributes=FALSE)
#[1] TRUE
Run Code Online (Sandbox Code Playgroud)

或者在OP的帖子中使用类似的方法,我们可以使其紧凑 all

all(a==b)
#[1] TRUE
Run Code Online (Sandbox Code Playgroud)

上述方法中的字符数较少......

nchar("identical(a,b)")
#[1] 14
nchar("all(a==b)")
#[1] 9
Run Code Online (Sandbox Code Playgroud)