R is extremely powerful language for statistical calculations and processing numerical results. You can do nearly everything what professional Computer Algebra Systems(CAS) and other computation systems can do. You really should pay an attention to R because of its real big repository of the community supplied packages. Consider that you faced with common “model fitting” problem, and in package repository there may be from 5 or 10 packages that can help you to fit a model. Some of them may use same methods, some of them different. That’s great! Even if one of the packages is broken, you can use the other one. In my experience for R it is much more difficult to face with broken package than for example for Perl!, so if you found two working packages, you could use both to prove your assumptions. Also this helps you to be much more at the edge of the “problem solving”, not at the low-level edge, when you spend additional time on doing things that are not worth to(why should you create new Gaussian distribution generator?).

Since I am doing programming on R language for some while I want to familiarize some common gotchas and difficult parts of R programming. Surprisingly, I don’t know how it is better to learn any statistical language, and especially how to learn R. Yes, even if you done some tutorial on R or read a book on R programming, you forget that this is something that is far from your needs. This is not what you wanted to have.

Being familiar with a tool and being able to process your real data are really different things.

From this side you’re trying to solve your problems and this can be achieved with two possible ways whose are very similar :

  • Digging through Help and finding small parts of knowledge that might be useful
  • Searching through known Use Cases similar to your problem

While the first way helps you to be more familiar with fundamentals part, the second will not help you in understanding of the language core principals. But hey, you’ve spend half an hour and fitted your model as you wanted. Greeeat!

R is a tool, and usually when you first thought “Oh, I’ll solve Dat with R”, you hadn’t faced with a big problem that goes out of scope of your understanding of what is really R and how it is helpful. Going deeper is always a problem, writing your solution in a best case should be minimized to searching nearly appropriate existing solution. That’s the best case - don’t spent time for “classic learning” of the R, try to figure out what core language conceptions are incorporated in your problem, why you program not working right now.

And seems that this is a basic Practical Programming approach and it also should be used when you deal with R.

TLDR; Learning languages isn’t what we should do on daily basis. Even if you’re not a programmer. Just solve “daily” problems.