Saturday, April 11, 2015

R: a Programming Language

It is certain that R is a widely used statistical computing programming language. And it is promising for any other programming area. It is hard to change routines of programmers. That's why, many questions arise when a new thing comes up in the field, like;

  • Do I need to learn R?
  • Tell me what i can not do with other languages that i can do with R.
  • Why choose R?
  • Isn't it a statistical tool, why do i need to use it?
  • ...

There are many reasons to choose R. In this post i want to change the resistance of habits to choose R in some areas that you work on.


R is powerful


It has many contributions around the world and developed as a high performance language. It seems R has no limits when processing. The hardware and the operating system that you use is the only bottleneck for the computations. Okay, that is a little bit assertive thesis but I haven't seen a limitation on hardware. It uses as it can. Limited hardware or operating system means longer computation on R. Single core is used by the single R session. But if you optimize your algorithm by using parallel computing (http://cran.r-project.org/web/views/HighPerformanceComputing.html), it uses all the cores you have.

Forget Spreadsheets


Making a computation on an MS Excel Workbook is common and in our life even if we want it or not. Excel have many usages like; keeping data records, analyzing data, creating forms and consolidation of the results, making budget plan, finding profit break-even and etc... You can use R for this kind of work by only keeping or editing the raw data in a text file.

Take a quick step to development


The wideness of the science world comes with a difficulty of learning described algorithms. For instance, if you want to implement k-means algorithm which was found at 1960s, it will be like discovering whole world again. You can easily find an implementation of a well known algorithm on R CRAN repository. Of course, R is not the only place where algorithms defined and ready to use. But R is open source and there are many eyes on the published libraries. In this sense, I think there is a little possibility to find a bug on algorithm libraries. 

On the other hand, you can find answers of your questions about R with a few search on the internet due to the high resource availability as a result of highly usage. I am of opinion that R user groups also provide support on your issues.

R has no difference from a calculator at ease of use aspect. You can start coding, running and debugging after you master general processing logic and data structres like matrix, data frame etc...

Integration Matters


Data is not only on text files. Nowadays huge amounts of data is stored on databases and day by day data storage capacity needs to be increased. Except databases, data flow could come from another sources like rest, web services or another data api. You can integrate R where you want by searching "how to use X on R". Most probably there is a connector library that was written before. If not, you can support CRAN repository. Open source works in this manner.

Have a good day...

No comments:

Post a Comment