scramble <- function(x) x[sample(nrow(x)), sample(ncol(x))]
mtcars_df <- as_tibble(mtcars)
# By default, ordering of rows and columns ignored
all.equal(mtcars_df, scramble(mtcars_df))
# But those can be overriden if desired
all.equal(mtcars_df, scramble(mtcars_df), ignore_col_order = FALSE)
all.equal(mtcars_df, scramble(mtcars_df), ignore_row_order = FALSE)
# By default all.equal is sensitive to variable differences
df1 <- tibble(x = "a")
df2 <- tibble(x = factor("a"))
all.equal(df1, df2)
# But you can request to convert similar types
all.equal(df1, df2, convert = TRUE)
Run the code above in your browser using DataLab