Trapped in a local min.
November 2, 2012 3:11 PM Subscribe
I sort of know Matlab, R, SPSS, and C. But how do I really learn Matlab, R, SPSS, and C?
posted by Nomyte to Technology (11 answers total) 29 users marked this as a favorite
I've been scripting math/stat things for years in the context of both work and school. I've been using Matlab and SPSS for about three years. I can duplicate in R most of what I can do in SPSS. I know enough C to do problems from K&R and mock up numerical algorithms for analysis courses. Basically, I know enough to meet my needs and can look up answers to most questions I have.
The problem is that my needs are very modest, and when I look for more in-depth learning materials, I run into my lack of area expertise.
For example, the MathWorks website has lots of free recorded webinars, but they're on topics like large-scale wind farm management, circuit simulation, fluid dynamics modeling, etc. Those things are far outside my area of expertise. I am not an engineer. I don't know what the problems are in these areas, and learning to programs solutions to problems I don't understand seems backwards. (For the record, my niche is MRI, but we leave the writing of analysis software to engineers and computer scientists at NIH.)
Similarly, I am not a PhD statistician. I have 12 graduate credits' worth of statistics. I am familiar with a handful of basic statistical models and when they are best applied. This requires minimal mastery of SPSS or R. A statistician should be able to develop hybrid models to accommodate any sort of messy data from the real world, rather that complete, balanced research datasets.
I know enough C to do trivial problems and mock up simple numerical algorithms. That's not what C is really used for. But I certainly can't write a new LAPACK, and I know next to nothing about OS design principles or algorithm optimization.
How and in what directions can I make progress from my current state? How can I take my skills to the point where, for example, they might be used as a central part of a job? Or, do I absolutely need to be an expert in a domain of application before it pays off to improve software skills?
(If you are going to suggest "contributing to projects," please outline the next 2-3 steps. I have no idea what kinds of projects use these tools, or how to find ones I can contribute to meaningfully.)