Often I have found that research students who have learned to do experiments have not learned to use software to handle their data effectively. It's not within my power to insert the appropriate training into their prior education. Teaching people to program or use software is not within my area of expertise or a priority for me. I have observed other research supervisors expecting their students to "teach your self to use what I use" but I realize that what I use, while very powerful, may not be best for a beginner. Also, I picked my tools a long time ago so the state of the art may have changed. What should I recommend to my students, and why? I would like for students to rapidly acquire flexible, durable analysis skills.
I would like for students to rapidly acquire flexible, durable analysis skills.
Your criteria are quite stringent! I think you are going to have to compromise at some point along the line. If you want them to acquire the skills rapidly, then they are probably going to have to use menu-based software, which will be limited in its flexibility. The long-term and more flexible solution would be for the students to learn statistical programming, but that of course has a steep learning curve.
In my opinion, R has a lot of advantages. [I imagine you have already come across it, so I may be stating the obvious here and you may have a good reason for ruling it out, but...]
It is free and open source, and therefore once learnt, the skill can be taken anywhere.
It's massively flexible when you take into account all of the add-on packages
Students can "ease" into it using R commander, which gives a menu-based interface but also outputs the corresponding code.
It is popular and therefore very well resourced.
The best compromise that I can think of would be to start the students off using the menu-based R commander package, but encourage them to inspect and customise the code where possible. If you are not able to give training yourself, it would probably be a good idea to arrange for someone else (either in your department, or pay someone external) to give a course. There are lots of good self-learning resources available, but a course ought to speed up the learning process. When they see how powerful the software is, it is likely to encourage them to put in the time and effort to learn to use it well.