我正在使用缩进功能,我发现这种比较会返回false:
identical(list(z = c(1,1,1), q = c(0,0,0)), list(q = c(0,0,0), z = c(1,1,1)))
有没有办法确保q和z的顺序无关紧要,所以答案是真的?
答案 0 :(得分:3)
好吧,如果你有
a <- list(z = c(1,1,1), q = c(0,0,0))
b <- list(q = c(0,0,0), z = c(1,1,1))
identical(a,b)
# [1] FALSE
它们不相同,因为
a[[1]]
# [1] 1 1 1
b[[1]]
# [1] 0 0 0
identical(a[[1]], b[[1]])
# [1] FALSE
这意味着在某些情况下列表的行为会有所不同。
如果您想要按顺序进行比较,可以按名称对列表进行排序
identical(a[order(names(a))], b[order(names(b))])
# [1] TRUE