10 ms·
Rsuite – R development and data science platform
- psv1 7y agoAfter a couple of minutes on their website I still can't figure out what advantage this offers over using RStudio as an IDE and/or running scripts with the default CRAN R installation.
- ngcc_hk 7y agoNot yet tried but open source ... free ...
- williamstein 7y agoAfter a few minutes I can't even tell what problems this is supposed to solve or if it is even related to solving an IDE problem... the actual site starts with bullet points that describe the product, but not what problems it solves: " - Open source with Enteprise [sic] support. - Designed to separate..." The very first bullet point has a typo so maybe this isn't very mature yet?
- wjak 7y agoThanks for finding typo. It is mature. We have used it to deploy R to big players. And use it for our consulting services everyday. Check docs (https://rsuite.io/RSuite_Tutorial.php https://rsuite.io/RSuite_Tutorial.php) and examples (e.g.https://github.com/WLOGSolutions/RSuite-examples https://github.com/WLOGSolutions/RSuite-examples )
- wodenokoto 7y agoOnly read the headlines. My understanding is that they have version control of packages (something to the effect of a virtual environment, but maybe with a completely different approach)
- wjak 7y agoIt goes deeper. We were lacking definition of R project. Pkgs management is part of project management.
- ksevastyanenko 7y agoYou might find this package useful for pkg management problem https://github.com/robertzk/lockbox https://github.com/robertzk/lockbox
- wjak 7y agoHi, I one of the creators. From GitHub page: R Suite an R package which together with R Suite CLI tool enables you to design deployment workflow that fits you and makes R your primary data science platform. It has beed developed by WLOG Solutions company to make their development and deployment data science process robust. R Suite gives answers to the following challenges for any R based software and data science solution: - Isolated and reproducible projects with controlled dependencies and configuration. - Separation of business, infrastructural and domain logic. - Package based solution development. - Management of custom CRAN-alike repositories. - Automation of deployment package preparation. - Flawless integration with Docker. - Development process integrated with version control system (currently git and svn). - Working in internetless environments.
- psv1 7y agoMy job is pretty much only writing R code and managing R models running in production. I still don't understand what your product offers that I don't already have, or how it achieves what it claims to achieve. Copying and pasting the sales pitch from your website didn't clear things up for me.
- wjak 7y agoTo make this discussion better you should tell more about your development and deployment process. This includes definition of the project you use.
- scottlocklin 7y agoIf you really solved: >isolated and reproducible projects with controlled dependencies and configuration. ... that would be huge. Sticking it in docker containers is also a decent idea. Thanks for writing it, and pay no mind to ding dongs on here who can't be bothered to learn the language and its tooling, but sure do have an opinion on the topic.
- wjak 7y ago
- glofish 7y agoR, unfortunately, is also one of the most ill-designed yet popular programming languages in existence. I would strongly recommend people to steer away from it. If you cherish your sanity stay away from using R! Moreover after seeing what my colleagues publish as scientific R programs, I came to believe that science itself is bottlenecked by the large scale adoption by R and the sloppy, inconsitent and bug-infested programming practice that it encourages. R does a few things well - cross-platform, plotting works on all platforms, packaging works well. But for actually programming it is atrocious.
- stewbrew 7y agoIt depends. R excels at backward compatibility and at interactive data analysis, which is what it's made for. But you're right in so far that you probably shouldn't use (much) R code in production.
- glofish 7y agoI agree! That is what R was designed for. Puttering around in the R shell, slicing, dicing data live, doing some interactive plot this, plot that - alas that is not how R is used anymore
- LeftHandPath 7y ago... that's exactly what I use R for. At work, I use it to filter data from the FAA database of registered aircraft. Or to poke around whatever CSV data I need some specific details from that day. I thought that was what everyone was using it for. What are people using it for?
- glofish 7y agoheh, try installing a single advanced package, you'll see immediately how hundreds of libraries interdependent libraries are also loaded and compiled, each full bugs and problems
- immagic 7y agoThis reminds me of victoR. VictoR is a cyber security-oriented scripting language which runs on Windows OS. It’s quite powerful and very fast. I have a free copy of it here: https://bit.ly/35mtZZj https://bit.ly/35mtZZj if anyone wants to test it. Might take a while to run depending on your version. Cheers!
- amirmasoudabdol 7y agoI’m using R for a while in my current position, alongside some other programming languages, Python and C++. R is bar far the hardest to predict and read. Rstudio is terrible. It’s a wrapper around a “web app” and that simply doesn’t work well for something as complicated as IDE. To give an example, Rstudio does only one thing at the time, you are running a code, you cannot open a data frame even to look at it. Rstudio doesn’t at all behave likes any other IDE that you’ve seen either. Try to increase the font size and the whole idea scales up! R by itself is a mess, and I don’t think I have to say much about that. R community is big and that’s good and bad. It’s good because amazing people are developing amazing packages for it. It’s bad because there is a lot of bad packages. It’s a lot like JavaScript community. I have a feeling the community has started to reward “having a package”, and everyone has a package. Besides the quality of R packages and R being a strange programming language, R gets the job done. However, if your job is anything beyond some statistics and data processing, then good luck. I’m not saying that you cannot achieve what you want to achieve using R, however, good luck reading R code. I found it extremely hard to read R codes and so far 90% of codes that I’ve encountered have little to no comments.
- psv1 7y ago> To give an example, Rstudio does only one thing at the time, you are running a code, you cannot open a data frame even to look at it. This isn't specific to R or RStudio. Start running a slow process in your Python IDE of choice, and while it's running try to execute df.head() to view some data frame - you won't be able to see it regardless of the language or IDE (and for a good reason).
- amirmasoudabdol 7y agoI understand that good reason, it’s because scripting languages run on sessions. So, Rstudio couldn’t execute any new command while doing something else. That’s fine. What’s annoying and not ok is the fact that sometimes the entire interface freezes. UI has to be separated from the session and logic of the program. Rstudio doesn’t do this well.
- RA_Fisher 7y ago
- vhhn 7y agoHi Wit, you guys do a great job to make R ready for deployment in production. What do you think of the new renv package?
- wjak 7y agoIt's goal is different. We started with reproducible project definition. Then we implemented rsuite to help manage the project. It includes dependency management which is what renv solve. What is the biggest difference is that our project consists of possibly many pkgs that are local to it. This allows you to create complex solutions. Moreover deployment PKG is zip file and to use it you only need r. No PKG installation on prod.
- syrahshiraz 7y agoDisclosure: I work at RStudio Took a quick look at the docs. If you're looking for dependency management there's renv[1] and you can (obviously) use git for source control. If you actually have enterprise use cases for library curation or air-gapped deployments, you can check out RStudio Package Manager[2]. Among other things, it provides precompiled binaries for packages, which Rsuite doesn't improve on, per docs[3]: > Now you are ready to install dependencies. Beware that it will take a lot of time because of compilation. You install dependencies with the following command: [1]: https://github.com/rstudio/renv https://github.com/rstudio/renv [2]: https://rstudio.com/products/package-manager/ https://rstudio.com/products/package-manager/ [3]: https://rsuite.io/RSuite_Tutorial.php?article=rsuite_binary_linux_packages.md#install-dependencies-long https://rsuite.io/RSuite_Tutorial.php?article=rsuite_binary_...
- wjak 7y agoRsuite has supported binary pkgs about a year before rstudio. You have not read docs to the end. Rsuite has been used for enterprise. It works great. And it is open-source. Moreover it brings proper definition of R project which rstudio still is missing.
- anthony_doan 7y agoI'm going to buck the trend and state that I love using R for modeling and statistic. The R packages for these domains are one of the best I've seen. As for R in production, I would wrap it using https://www.rplumber.io/ https://www.rplumber.io/.
- arminiusreturns 7y agoI see a lot of people hating on R or on R-studio. For those people, I'm curious what you would posit as an alternative? I have liked R because I use it simply, inside emacs org-mode code source blocks which use either R to generate plots or gnuplot. Based on comments, now I am afraid I will reach some ceiling in R. What else is there? Octave? Sage? Julia?
- malshe 7y agoIf you read the comments, it’s just one guy giving his opinion on every comment without any supporting evidence.
- xvilka 7y agoNot hating the R, but from what you listed Julia comes the closest and the best designed of all. Octave is bound to be MATLAB compatible, this prevents language innovation. Sage is bound by being "a middle ground" for all third-party languages and frameworks it incorporates. Julia language is cleaner.
- laichzeit0 7y agoHow do you guys get R predictive models into production? Last I used Plumber to put a REST API in front of it then discovered R is a single threaded runtime so effectively you can only go 1 request at a time. I guess the only option is to containerize and run many instances with a load balancer in front? I develop on a Mac so I can’t go the Microsoft R server route and I don’t want to embed myself into some commercial solution, e.g. Rsuite. You can trivially do this with the Python ecosystem. My feeling is that R is great for anything that doesn’t need to be operationalized into production (monitoring, security, logging, scaling, performance, etc). There are so many good ML/stats libraries in R and most books seem to use R (when written by academics) but it feels like these people have never had to put anything into production.
- CapmCrackaWaka 7y agoIt depends on what you mean by 'production'. I've had great success setting up my data collection, engineering and predictions in batch processes. I agree though, I would never try to use R with a REST API, but I don't think it was ever designed for that. As a general rule of thumb, if something needs real time predictions or I need deep learning libraries, I use Python. R is for anything else.
- wjak 7y agoExactly, production and deployment process are very different. In enterprise it is very rigid with production that has no internet connection and the best if you do not install pkgs there (supported by rsuite). But I had a customer who treated dev as prod. :)
- wjak 7y agoWe use R for rest using plumber. It is very similar to flask. What you need is to add load balancer.
- wjak 7y agoCheck this example. It is quite both complex and simplified. Real implementation is more automated. https://github.com/WLOGSolutions/RSuite-examples/tree/master/MalariaClassifier https://github.com/WLOGSolutions/RSuite-examples/tree/master...
- xvilka 7y agoThere was a request to add R in GitHub Semantic library and tool, but prerequisite of that work is creating [1] a tree-sitter [2] parser. So if anyone is willing to help - welcome. [1] https://github.com/github/semantic/issues/382#issuecomment-555122109 https://github.com/github/semantic/issues/382#issuecomment-5... [2] http://tree-sitter.github.io/tree-sitter/ http://tree-sitter.github.io/tree-sitter/
- ngcc_hk 7y agoI heard of R when I am fond of XLispStat. The older language is good but it is lisp. Hence, people move on to the mess. I just use R on a pragmatic manner. It is very hard if you take the language too serious. Just use it. And if you can compare a bit your result with other like old SPSS you are familiar with as the result is quite programmer dependent.