Live data from Hacker News

A newcomer’s (angry) guide to R

arrgh.tim-smith.us

71–80 of 232 posts

Re: A newcomer’s (angry) guide to R

#71
post #19

HN is predisposed to hate R because everyone here is coming from a "real" programming context. Their concerns are generally valid, but they should keep in mind a lot of people using do not have a software development background and do not care that the language is not elegantly designed: they just want to get analytical work done. In that respect, R is far, far superior to Python. Even something as simple as installi…

And there is litterally no equivalent to dplyr and ggplot2 in Python. Those alone can make a huge difference in how many lines you need to write to do something.

Re: A newcomer’s (angry) guide to R

#72
post #19

HN is predisposed to hate R because everyone here is coming from a "real" programming context. Their concerns are generally valid, but they should keep in mind a lot of people using do not have a software development background and do not care that the language is not elegantly designed: they just want to get analytical work done. In that respect, R is far, far superior to Python. Even something as simple as installi…

> Even something as simple as installing a library is a conceptual leap for these people (why wouldn't the software just come with everything needed to work?). > Have you ever tried explaining the various python package and environment management options to someone with a background in Excel/SQL? I don't understand the difficulty I've often seen voiced against this. Why would a newbie or someone who just wants to get…

Well pip install library needs root, which you probably don't have. So now you have to teach them about making, and acitvating, virtual environments.

Also, they can't easily search through the packages in a nice GUI and just click on the one they want to install.

Re: A newcomer’s (angry) guide to R

#73
post #47

R is much more lisp-like than python: more functional, more emphasis on DSLs and metaprogramming, and the community is far more inviting to New comers: reminds me a lot of Racket in that regards.

Yes! People ask me what the best R programming book I’ve ever read is, and I like to say “How to Design Programs.”

I keep thinking someday I’ll try and build some of the missing stats infrastructure in Racket. The problem at present is time and that this stuff is real work!

Re: A newcomer’s (angry) guide to R

#74
post #19

HN is predisposed to hate R because everyone here is coming from a "real" programming context. Their concerns are generally valid, but they should keep in mind a lot of people using do not have a software development background and do not care that the language is not elegantly designed: they just want to get analytical work done. In that respect, R is far, far superior to Python. Even something as simple as installi…

I use R at least a couple times a week. It gets the job done and I will be forever grateful for the tidyverse. That said, R can be goddamn frustrating at times because of the way the documentation is written. It would be nice to simply be able to query about a function and get a cogent help file that explains THE BASICS of how to use the function for the most common use-case(s). Instead, the help files try to be "can…

The documentation varies a lot by the package. Some libraries have excellent help files, while others are poorly written. At best, its inconsistent.

Re: A newcomer’s (angry) guide to R

#75
post #34

I don’t hate R as much as I hate universities insisting on mandatory use of R for all comp-stat courses. This to my mind verges on civil rights infringements. Bear in mind we aren’t talking about a private institution such as a company, where when you sign on as a dev for a paycheck, you do so voluntarily, knowing that the company uses X language and you won’t have a choice in the matter. In a public university, stud…

That's fine on one condition. If you get the wrong answer, you just get 0 and no feedback.

With a library and language I know, I can look though, advise on what went wrong and see how close you got. If I have to start supporting every language in the world, that's simply not reasonable.

Re: A newcomer’s (angry) guide to R

#76

Earlier quoted context omitted.

> Even something as simple as installing a library is a conceptual leap for these people (why wouldn't the software just come with everything needed to work?). > Have you ever tried explaining the various python package and environment management options to someone with a background in Excel/SQL? I don't understand the difficulty I've often seen voiced against this. Why would a newbie or someone who just wants to get…

Well pip install library needs root, which you probably don't have. So now you have to teach them about making, and acitvating, virtual environments. Also, they can't easily search through the packages in a nice GUI and just click on the one they want to install.

And pip s upgrade process for packages is almost non existent, while R supports that very, very easily.

Re: A newcomer’s (angry) guide to R

#77
post #19

HN is predisposed to hate R because everyone here is coming from a "real" programming context. Their concerns are generally valid, but they should keep in mind a lot of people using do not have a software development background and do not care that the language is not elegantly designed: they just want to get analytical work done. In that respect, R is far, far superior to Python. Even something as simple as installi…

As a datapoint in agreement. Some of the Biologists I work with love R. I had one tell me that its like how they think, and they weren't a python fan. I think R-Studio (an R based IDE that turns it kinda into a more excel like experience) where you can inspect the data in memory (including matrix data) and graph making is where it really helps bring people into the R language. And with a set of instructions anyone ca…

You can also use R in Jupyterlab these days and while its quite different from RStudio it is quite practical to conduct data exploration.

Re: A newcomer’s (angry) guide to R

#78

As a long-time R user, I agree with all of these complaints. The language itself is ugly and actively tries to get in your way. I'll add that concepts like data frames are not really intrinsic, and you get needless complexities like "length", "nrow", "dim", each of which does the wrong thing in 90% of the scenarios of interest. The confusion of lvalues is another strange quirk -- a If you discipline yourself to learn…

>split/lapply/aggregate/ave I always feel bad when I resort to a for loop in R. Do you have any recommended ressources about mastering those specific manipulations?

Unless you do something quitec complex dplyr is faster for such operations and consumes less RAM too.

Re: A newcomer’s (angry) guide to R

#79
Every error message ever written in R: "Error"

Hmmmmm, okay after 20 minutes of squinting at the script I see there's a lowercase letter at the header name of the last column somewhere in the middle of the 200 lines...now we can move on to debugging the next "Error"...

Re: A newcomer’s (angry) guide to R

#80

There are a bunch of odd non-standard syntax choices in this tutorial. For example, the author ends statements with semicolons. R does allow equal sign assignment (although style guides prefer the stupid arrow syntax). The author mentions Bioconductorm the... second biggest package repository for the language? I clicked because I was a programmer for 15 years before I used R, and I have subsequently developed and shi…

the "stupid arrow syntax" is not nearly so stupid, and I speak here as a 10+ year Python developer, as the misuse of the equal sign that every C-style language seems to think is ok. The = sign meant something long before computer programming, and it is something the developer community ought to be ashamed of that it is being used for "change this thing to that". /rant

R was originally not much more than a bunch of Scheme macros if I understand the history right. Suspect Of course I probably would have preferred just keeping the lispy syntax of scheme without all the infix stuff!
Post reply on HN