all_equal() allows you to compare data frames, optionally ignoring row and column names. It is deprecated as of dplyr 1.1.0, because it makes it too easy to ignore important differences.
ignore_col_order: Should order of columns be ignored?
ignore_row_order: Should order of rows be ignored?
convert: Should similar classes be converted? Currently this will convert factor to character and integer to double.
...: Ignored. Needed for compatibility with all.equal().
Returns
TRUE if equal, otherwise a character vector describing the reasons why they're not equal. Use isTRUE() if using the result in an if expression.
Examples
scramble <-function(x) x[sample(nrow(x)), sample(ncol(x))]# `all_equal()` ignored row and column ordering by default,# but we now feel that that makes it too easy to make mistakesmtcars2 <- scramble(mtcars)all_equal(mtcars, mtcars2)# Instead, be explicit about the row and column orderingall.equal( mtcars, mtcars2[rownames(mtcars), names(mtcars)])