First compare their columns are same by the great function in janitor package.
janitor::compare_df_cols(df1,df2)
If the columns are identical make sure they are in the same order and then convert the data.frames to data.table (I always work in data.tables as they are much faster than classical R data.frames)
library(data.table)
setDT(df1); setDT(df2)
fsetdiff(df1,df2)
The above will give you rows in df1 that are not in df2.
To see the other way round run:
fsetdiff(df2,df1)
See if this fulfils the objective. If not let me know.