I just finished my second Coursera course. It's hard to believe that "Data Analysis Using R" started
just four weeks ago.
This wasn't a terribly difficult course, but lecture time added up. The assignments weren't hard conceptually, but I found myself struggling with the API and the docs. "How do I do that?" was a common question. It was easy to think how I'd do something in a language that I knew better, like Java or Python, but I wasn't always able to conjure up the R equivalent at will. I had to do small experiments on the fly to figure out how to make the language do my bidding.
The third programming assignment set was time-consuming. I was behind the eight ball because I was out of town at a family wedding the weekend before it was due. Thankfully we were given an allotment of late days that we could apply as needed. I used up three of them after returning from MN so I could get the assignment in late without penalty.
Debugging in the R environment is crude, reminiscent of the gbd command line debugger that comes with Java. It's a comedown for a person who's used to using the
best IDEs in the world to work with Java and Python. I started using the R plugin for IntelliJ for the fourth assignment. I hope they keep expanding and improving it.
R does have some rudimentary object-oriented features, but it's firmly in the functional camp. A friend pointed out that R looks similar to JavaScript. As usual, he's right. I started eschewing the '<-' assignment notation in favor of '=' to make the visual resemblance stronger. The Renjin interpreter makes it possible to run R inside Java. I found out that you can also run
R on CUDA. I'm looking forward to trying those packages and seeing what performance benchmarks would look like.
This one was a sprint. The next one,
"Data Analysis", will emphasize problems that R is used for, diving deeper into regression and analysis. I'm looking forward to getting back in touch with my mathematics roots. It begins next Monday.
No comments:
Post a Comment