
Start here to learn R - sinodin
http://r-exercises.com/2016/07/22/start-here-to-learn-r/
======
minimaxir
All the tutorials involve using base R packages. While OK for a tutorial,
_this is not reflective for real-world data analysis_ both in performance and
usability, a lesson I have learned the hard way. (After using it for three
semesters in college, I almost quit R completely in frustration)

I recommend going straight to the Hadleyverse packages for the common use
cases, and read the vignettes for the common use cases: readr for reading
files, dplyr for manipulating data, ggplot2 for plotting (the most important
package!), and tidyr for reshaping data into a ggplot2-friendly long form.

Wickham himself has a very beginner-friendly, free book for learn R using his
packages: [http://r4ds.had.co.nz/index.html](http://r4ds.had.co.nz/index.html)
(far better than any tutorial I could write)

~~~
R_haterade
While I appreciate the hard work Hadley has put into this ecosystem, and I
detest the language wars, I can't help but feel that the world would be a
better place if Hadley had put his effort into python DS modules instead.

Hadley's work puts R almost at parity with python (at best!) for munging, and
for academics, this long-term trend of domain languages like R or SAS becomes
counterproductive. It's as if he's leading us to a local optimum.

~~~
RA_Fisher
S (R's ancestor) was developed in the mid-70s and 80s, at least a decade
before Python was written. Then couldn't your argument be applied to those
working on Python data science tools? Variety is the spice of life. :)

~~~
jhbadger
No, because the issue isn't that new programming languages and their libraries
shouldn't be developed (and I'm a big fan of new languages with new paradigms)
but whether the new languages should be general purpose or not. I'd argue that
the development of S was misstep, and one which would have been completely
forgotten by now if not for R and the libraries written for it.

~~~
RA_Fisher
Before S there were onerous Fortran routines. Rich Becker, one of the authors
of S gave a really interesting talk about this at the useR conference this
year, you should check it out if you haven't already:
[http://blog.revolutionanalytics.com/2016/07/rick-becker-s-
ta...](http://blog.revolutionanalytics.com/2016/07/rick-becker-s-talk.html)

You say that developing S was a misstep, what decision would you have made
instead? Build on Fortran?

~~~
jhbadger
option 1) S was created at AT&T, the home of UNIX and C. Imagine if
statistical functionality had been made a standard part of C rather than
developing a new language. While C is maybe not that popular anymore, current
languages like Java and C# inherit from it, and we would have a world in which
statistical functions were taken as given as part of the default libraries of
any language.

option 2) Use another standard language like LISP. This actually was done in
the excellent LISP-STAT system. Unfortunately it came out at kind of the wrong
time for LISP. These days LISP is kind of undergoing a renaissance with
Clojure, Racket, LFE, etc., but in the 1990s it was more associated with the
failed AI efforts of the symbolic school and LISP was just seen as this weird
thing with lots of parentheses by many people.

The thing is I use R every day. But like everybody else, I bury it under lots
of add ons like Hadley's and others to make it palatable by hiding as much of
the absurd R syntax as possible. That's like dumping ketchup on foul tasting
food. Is this really what we want to do?

~~~
RA_Fisher
That'd add a lot of baggage to C that's really beyond its core mission. It'd
also slow down development of statistical interfaces (that lag far behind the
stability of systems interfaces). Thank you for responding, but I'm not
convinced.

------
partycoder
A paid alternative is also datacamp.com Has videos and interactive exercises
you can do directly in the site. And btw, I am not affiliated with them, just
a user.

~~~
sndean
I've found DataCamp to be pretty good too. Have you tried DataQuest [1]?

It's mostly Python (a little R), but just wondering what others think.

[1] [https://www.dataquest.io/](https://www.dataquest.io/)

------
projectramo
These are interesting exercises. I would also add that what it means to learn,
or begin to learn, a language in general but R in particular could vary
widely.

Some people actually need to learn statistics while they are learning to
express those concepts.

Some people need to learn idiomatic R. I really didn't think of R as very
functional till I took Peng's (excellent) Coursera course.

Some people need to get a sense of the libraries available.

This is an intro to get some practice in the the classical, original purpose
for S, Splus and R: linear algebra operations in R.

------
IanCal
> If you’re completely new to R, we suggest you simply start with the first
> topic, “Simple manipulations; numbers and vectors”.

Where is this? I couldn't see anything with the same name.

The first thing in the list: [http://r-exercises.com/2015/10/09/vector-
exercises/](http://r-exercises.com/2015/10/09/vector-exercises/) starts by
telling me I need to have read something else, which is a chapter in a long
PDF.

I applaud the effort, but this feels confusing and I'm worried about people
being discouraged right as they start.

------
smortaz
if you are on Windows and want to try R and don't mind preview software, check
out:

[http://microsoft.github.io/RTVS-docs/](http://microsoft.github.io/RTVS-docs/)

------
Jon_Maxwell
I personally prefer video courses, like those on Udemy:

[https://www.udemy.com/data-science-and-machine-learning-
boot...](https://www.udemy.com/data-science-and-machine-learning-bootcamp-
with-r/?couponCode=DATASCIENTIST)

------
RockyMcNuts
Also swirl (similar exercises to teach yourself R)

[http://swirlstats.com/students.html](http://swirlstats.com/students.html)

