Do you know that there are some rows where cor < -0.6? You can make a subset of the data to check that
NegCor <- filter(DF, cor < -0.6)
I also notice now that your p values can be greater than 1, so something is wrong with the construction of your data frame.