I use hyphen in elisp and scheme and sometimes out of habit I use it in R too and then I get that error about subtracting the strings 😅
So here is my answer to your initial question: I use dot to separate connected stuff (e.g `training.set|). I use _ for separating concepts (e.g `training.set_normalized`), and I use double _ for separating major things (e.g `gbm.fit__training.set_normalized`)