4 ms·
> I found R difficult to learn because it is seems inconsistent to me. Now one reason might be that I picked up bits of R here and there without taking the time
by groovy2shoes 14y ago
> I found R difficult to learn because it is seems inconsistent to me. Now one reason might be that I picked up bits of R here and there without taking the time to learn the syntax from a book (unlike what I did for other languages), but it took me quite some time to be able to make sense of the different structures (vector, list, matrix, dataframe), their differences, and in particular how functions operate differently on these structures.
If it makes you feel any better, I've read several R books and they normally present it in an inconsistent manner as well. I've written programs in some 30 languages over the last 13 years, and I've yet to encounter one that's as difficult to pick up as R. Materials that purport to teach R are, in my experience, almost always presented as a set of recipes for very specific statistical methods. That approach stands in stark contrast from traditional programming introductions that attempt to teach general concepts rather than specific how-tos.
I agree, though, that despite the learning curve, R is rather useful.
- hadley 14y agoI'd appreciate any comments on https://github.com/hadley/devtools/wiki https://github.com/hadley/devtools/wiki - it's my attempt to teach R like a programming language, focussing on cross-cutting concerns and general concepts. It's still a work i progress, so your feedback can help make it better.
- abraxasz 14y agoI read it cover to cover (so to speak) about two weeks ago, and although still a work in progress, it is indeed the best written guide to R that I've read to date. It appealed to me because it insisted on the functional programming side of R, and explained some of the intricacies and advanced concepts in R. It's pretty dense though and will certainly require a number of re-reads before I internalize all of the material. One thing I would find very useful is a case study on how to design more complex packages. In particular, I would love to have an executive summary of the inner-working of ggplot2 and/or ddply. In particular, how can I manage to pass formulas as arguments to my functions, how can I achieve the pseudo DSL effect of ggplot2, etc... I know, I could read the source on github, but ggplot2 is pretty big, so a summary would be helpful.
- hadley 14y agoI think as I flush out the functional programming and computing on the language sections, those techniques underlying ggplot2 and plyr should become more obvious. I like the idea of case studies on more complex packages, but I don't know if I can bring myself to try and describe how they work :/ Part of the problem is that I didn't understand the techniques terribly well myself when I wrote ggplot2 and plyr, so they don't have particularly clean implementations.
- disgruntledphd2 14y agoI have to second the usefulness of devtools/wiki. Its wonderfully clear and concise, though it does take some getting one's head around. And I write R every day and have read all of Venables and Ripley (more than once) and R still trips me up quite a lot. I tend to understand the error messages now, which is certainly progress.