Welcome to the forum.
Nice problem report but I think we need some sample data. See FAQ: How to do a minimal reproducible example ( reprex ) for beginners
or a handy way to supply sample data is to use the dput() function. See ?dput. If you have a very large data set then something like head(dput(myfile), 100) will likely supply enough data for us to work with.