top | item 40718860

(no title)

pneumic | 1 year ago

Nice post. R's quirks seem to put some people off but I've found that it's a relative joy for exploratory analysis and visualization like this, especially within RStudio.

Recently I was tasked with grouping a large number of DNA oligonucleotides, and exploring the criteria by which to group them was a lot of fun using various R libraries. In the span of a few days I learned how to use k-means clustering, how to employ an UpSet plot, and how to build a phylogenetic tree.

discuss

order

tylermw|1 year ago

R is hands-down the best language for data manipulation, analysis, and visualization: it's a language truly centered around treating data as a first class citizen. That focus does make some traditional programming workflows more error prone (helpful interactive data analysis features like vector recycling, flexible automatic type conversion, and non-standard evaluation provide lots of footguns), but the last decade of language improvements (stringsAsFactors = FALSE!) and R packaging ecosystem improvements have made the situation much nicer. The flexibility and lispy expressiveness of the language make it really fun to develop in, once you've gotten over the initial quirks.

pneumic|1 year ago

100% agree, especially on the lispy expressiveness. I love that I can build analysis pipelines in a functional style, which has always clicked with me more than other paradigms.

Tidyverse is a godsend for at least getting initial data transformations sketched out and for gently introducing new users, but I do believe one should gain an understanding of how to do all of these things in plain R.

dash2|1 year ago

I agree with this. I wonder what it would take to let R spread beyond its niche into a more popular data science language. My worry is that with polars coming along, Python is catching up where it's behind, and staying ahead where it is ahead.

steve1977|1 year ago

Have you used the Wolfram Language and if so, how would you compare the two?

cjk2|1 year ago

Is there a decent tutorial or book on getting over the hill? I can do some basic stuff in it but it's just not catching like other languages do.