Home » Posts tagged 'web interfaces'
Tag Archives: web interfaces
RevoDeployR and commercial BI using R and R based cloud computing using Open CPU
Revolution Analytics has of course had RevoDeployR, and in a webinar strive to bring it back to center spotlight.
BI is a good lucrative market, and visualization is a strength in R, so it is matter of time before we have more R based BI solutions. I really liked the two slides below for explaining RevoDeployR better to newbies like me (and many others!)
Integrating R into 3rd party and Web applications using RevoDeployR
Please click here to download the PDF.
Here are some additional links that may be of interest to you:
- RevoDeployR web page: http://www.revolutionanalytics.com/products/enterprise-deployment.php
- RevoDeployR data sheet: http://www.revolutionanalytics.com/products/pdf/RevoDeployR.pdf
- RevoDeployR whitepaper: http://www.revolutionanalytics.com/why-revolution-r/whitepapers/DeployR_White_Paper.pdf
( I still think someone should make a commercial version of Jeroen Oom’s web interfaces and Jeff Horner’s web infrastructure (see below) for making customized Business Intelligence (BI) /Data Visualization solutions , UCLA and Vanderbilt are not exactly Stanford when it comes to deploying great academic solutions in the startup-tech world). I kind of think Google or someone at Revolution should atleast dekko OpenCPU as a credible cloud solution in R.
I still cant figure out whether Revolution Analytics has a cloud computing strategy and Google seems to be working mysteriously as usual in broadening access to the Google Compute Cloud to the rest of R Community.
Open CPU provides a free and open platform for statistical computing in the cloud. It is meant as an open, social analysis environment where people can share and run R functions and objects. For more details, visit the websit: www.opencpu.org
and esp see
https://public.opencpu.org/userapps/opencpu/opencpu.demo/runcode/
Jeff Horner’s
Jerooen Oom’s
-
/webapps
- /stockplot
- /lme4
- /ggplot2
- /puberty plot
- /IRT tool
Interview Michal Kosinski , Concerto Web Based App using #Rstats
Here is an interview with Michal Kosinski , leader of the team that has created Concerto – a web based application using R. What is Concerto? As per http://www.psychometrics.cam.ac.uk/page/300/concerto-testing-platform.htm
Concerto is a web based, adaptive testing platform for creating and running rich, dynamic tests. It combines the flexibility of HTML presentation with the computing power of the R language, and the safety and performance of the MySQL database. It’s totally free for commercial and academic use, and it’s open source
Ajay- Describe your career in science from high school to this point. What are the various stats platforms you have trained on- and what do you think about their comparative advantages and disadvantages?
Michal- I started with maths, but quickly realized that I prefer social sciences – thus after one year, I switched to a psychology major and obtained my MSc in Social Psychology with a specialization in Consumer Behaviour. At that time I was mostly using SPSS – as it was the only statistical package that was taught to students in my department. Also, it was not too bad for small samples and the rather basic analyses I was performing at that time.
My more recent research performed during my Mphil course in Psychometrics at Cambridge University followed by my current PhD project in social networks and research work at Microsoft Research, requires significantly more powerful tools. Initially, I tried to squeeze as much as possible from SPSS/PASW by mastering the syntax language. SPSS was all I knew, though I reached its limits pretty quickly and was forced to switch to R. It was a pretty dreary experience at the start, switching from an unwieldy but familiar environment into an unwelcoming command line interface, but I’ve quickly realized how empowering and convenient this tool was.
I believe that a course in R should be obligatory for all students that are likely to come close to any data analysis in their careers. It is really empowering – once you got the basics you have the potential to use virtually any method there is, and automate most tasks related to analysing and processing data. It is also free and open-source – so you can use it wherever you work. Finally, it enables you to quickly and seamlessly migrate to other powerful environments such as Matlab, C, or Python.
Ajay- What was the motivation behind building Concerto?
Michal- We deal with a lot of online projects at the Psychometrics Centre – one of them attracted more than 7 million unique participants. We needed a powerful tool that would allow researchers and practitioners to conveniently build and deliver online tests.
Also, our relationships with the website designers and software engineers that worked on developing our tests were rather difficult. We had trouble successfully explaining our needs, each little change was implemented with a delay and at significant cost. Not to mention the difficulties with embedding some more advanced methods (such as adaptive testing) in our tests.
So we created a tool allowing us, psychometricians, to easily develop psychometric tests from scratch an publish them online. And all this without having to hire software developers.
Ajay -Why did you choose R as the background for Concerto? What other languages and platforms did you consider. Apart from Concerto, how else do you utilize R in your center, department and University?
Michal- R was a natural choice as it is open-source, free, and nicely integrates with a server environment. Also, we believe that it is becoming a universal statistical and data processing language in science. We put increasing emphasis on teaching R to our students and we hope that it will replace SPSS/PASW as a default statistical tool for social scientists.
Ajay -What all can Concerto do besides a computer adaptive test?
Michal- We did not plan it initially, but Concerto turned out to be extremely flexible. In a nutshell, it is a web interface to R engine with a built-in MySQL database and easy-to-use developer panel. It can be installed on both Windows and Unix systems and used over the network or locally.
Effectively, it can be used to build any kind of web application that requires a powerful and quickly deployable statistical engine. For instance, I envision an easy to use website (that could look a bit like SPSS) allowing students to analyse their data using a web browser alone (learning the underlying R code simultaneously). Also, the authors of R libraries (or anyone else) could use Concerto to build user-friendly web interfaces to their methods.
Finally, Concerto can be conveniently used to build simple non-adaptive tests and questionnaires. It might seem to be slightly less intuitive at first than popular questionnaire services (such us my favourite Survey Monkey), but has virtually unlimited flexibility when it comes to item format, test flow, feedback options, etc. Also, it’s free.
Ajay- How do you see the cloud computing paradigm growing? Do you think browser based computation is here to stay?
Michal - I believe that cloud infrastructure is the future. Dynamically sharing computational and network resources between online service providers has a great competitive advantage over traditional strategies to deal with network infrastructure. I am sure the security concerns will be resolved soon, finishing the transformation of the network infrastructure as we know it. On the other hand, however, I do not see a reason why client-side (or browser) processing of the information should cease to exist – I rather think that the border between the cloud and personal or local computer will continually dissolve.
About
Michal Kosinski is Director of Operations for The Psychometrics Centre and Leader of the e-Psychometrics Unit. He is also a research advisor to the Online Services and Advertising group at the Microsoft Research Cambridge, and a visiting lecturer at the Department of Mathematics in the University of Namur, Belgium. You can read more about him at http://www.michalkosinski.com/
You can read more about Concerto at http://code.google.com/p/concerto-platform/ and http://www.psychometrics.cam.ac.uk/page/300/concerto-testing-platform.htm
Using Views in R and comparing functions across multiple packages
R has almost 2923 available packages
This makes the task of searching among these packages and comparing functions for the same analytical task across different packages a bit tedious and prone to manual searching (of reading multiple Pdfs of help /vignette of packages) or sending an email to the R help list.
However using R Views is a slightly better way of managing all your analytical requirements for software rather than the large number of packages (see Graphics view below).
CRAN Task Views allow you to browse packages by topic and provide tools to automatically install all packages for special areas of interest. Currently, 28 views are available. http://cran.r-project.org/web/views/
Bayesian Bayesian Inference ChemPhys Chemometrics and Computational Physics ClinicalTrials Clinical Trial Design, Monitoring, and Analysis Cluster Cluster Analysis & Finite Mixture Models Distributions Probability Distributions Econometrics Computational Econometrics Environmetrics Analysis of Ecological and Environmental Data ExperimentalDesign Design of Experiments (DoE) & Analysis of Experimental Data Finance Empirical Finance Genetics Statistical Genetics Graphics Graphic Displays & Dynamic Graphics & Graphic Devices & Visualization gR gRaphical Models in R HighPerformanceComputing High-Performance and Parallel Computing with R MachineLearning Machine Learning & Statistical Learning MedicalImaging Medical Image Analysis Multivariate Multivariate Statistics NaturalLanguageProcessing Natural Language Processing OfficialStatistics Official Statistics & Survey Methodology Optimization Optimization and Mathematical Programming Pharmacokinetics Analysis of Pharmacokinetic Data Phylogenetics Phylogenetics, Especially Comparative Methods Psychometrics Psychometric Models and Methods ReproducibleResearch Reproducible Research Robust Robust Statistical Methods SocialSciences Statistics for the Social Sciences Spatial Analysis of Spatial Data Survival Survival Analysis TimeSeries Time Series Analysis To automatically install these views, the ctv package needs to be installed, e.g., via
install.packages("ctv") library("ctv")Created by Pretty R at inside-R.org
and then the views can be installed via install.views or update.views (which first assesses which of the packages are already installed and up-to-date), e.g.,install.views("Econometrics") update.views("Econometrics") Created by Pretty R at inside-R.org
CRAN Task View: Graphic Displays & Dynamic Graphics & Graphic Devices & Visualization
| Maintainer: | Nicholas Lewin-Koh |
| Contact: | nikko at hailmail.net |
| Version: | 2009-10-28 |
R is rich with facilities for creating and developing interesting graphics. Base R contains functionality for many plot types including coplots, mosaic plots, biplots, and the list goes on. There are devices such as postscript, png, jpeg and pdf for outputting graphics as well as device drivers for all platforms running R. lattice and grid are supplied with R’s recommended packages and are included in every binary distribution. lattice is an R implementation of William Cleveland’s trellis graphics, while grid defines a much more flexible graphics environment than the base R graphics.
R’s base graphics are implemented in the same way as in the S3 system developed by Becker, Chambers, and Wilks. There is a static device, which is treated as a static canvas and objects are drawn on the device through R plotting commands. The device has a set of global parameters such as margins and layouts which can be manipulated by the user using par() commands. The R graphics engine does not maintain a user visible graphics list, and there is no system of double buffering, so objects cannot be easily edited without redrawing a whole plot. This situation may change in R 2.7.x, where developers are working on double buffering for R devices. Even so, the base R graphics can produce many plots with extremely fine graphics in many specialized instances.
One can quickly run into trouble with R’s base graphic system if one wants to design complex layouts where scaling is maintained properly on resizing, nested graphs are desired or more interactivity is needed. grid was designed by Paul Murrell to overcome some of these limitations and as a result packages like lattice, ggplot2, vcd or hexbin (on Bioconductor ) use grid for the underlying primitives. When using plots designed with grid one needs to keep in mind that grid is based on a system of viewports and graphic objects. To add objects one needs to use grid commands, e.g., grid.polygon() rather than polygon(). Also grid maintains a stack of viewports from the device and one needs to make sure the desired viewport is at the top of the stack. There is a great deal of explanatory documentation included with grid as vignettes.
The graphics packages in R can be organized roughly into the following topics, which range from the more user oriented at the top to the more developer oriented at the bottom. The categories are not mutually exclusive but are for the convenience of presentation:
- Plotting : Enhancements for specialized plots can be found in plotrix, for polar plotting, vcd for categorical data, hexbin (on Bioconductor ) for hexagon binning, gclus for ordering plots and gplots for some plotting enhancements. Some specialized graphs, like Chernoff faces are implemented in aplpack, which also has a nice implementation of Tukey’s bag plot. For 3D plots lattice, scatterplot3d and misc3d provide a selection of plots for different kinds of 3D plotting. scatterplot3d is based on R’s base graphics system, while misc3d is based on rgl. The package onion for visualizing quaternions and octonions is well suited to display 3D graphics based on derived meshes.
- Graphic Applications : This area is not much different from the plotting section except that these packages have tools that may not for display, but can aid in creating effective displays. Also included are packages with more esoteric plotting methods. For specific subject areas, like maps, or clustering the excellent task views contributed by other dedicated useRs is an excellent place to start.
- Effect ordering : The gclus package focuses on the ordering of graphs to accentuate cluster structure or natural ordering in the data. While not for graphics directly cba and seriation have functions for creating 1 dimensional orderings from higher dimensional criteria. For ordering an array of displays, biclust can be useful.
- Large Data Sets : Large data sets can present very different challenges from moderate and small datasets. Aside from overplotting, rendering 1,000,000 points can tax even modern GPU’s. For univariate datalvplot produces letter value boxplots which alleviate some of the problems that standard boxplots exhibit for large data sets. For bivariate data ash can produce a bivariate smoothed histogram very quickly, and hexbin, on Bioconductor , can bin bivariate data onto a hexagonal lattice, the advantage being that the irregular lines and orientation of hexagons do not create linear artifacts. For multivariate data, hexbin can be used to create a scatterplot matrix, combined with lattice. An alternative is to use scagnostics to produce a scaterplot matrix of “data about the data”, and look for interesting combinations of variables.
- Trees and Graphs : ape and ade4 have functions for plotting phylogenetic trees, which can be used for plotting dendrograms from clustering procedures. While these packages produce decent graphics, they do not use sophisticated algorithms for node placement, so may not be useful for very large trees. igraph has the Tilford-Rheingold algorithm implementead and is useful for plotting larger trees. diagram as facilities for flow diagrams and simple graphs. For more sophisticated graphs Rgraphviz and igraph have functions for plotting and layout, especially useful for representing large networks.
- Graphics Systems : lattice is built on top of the grid graphics system and is an R implementation of William Cleveland’s trellis system for S-PLUS. lattice allows for building many types of plots with sophisticated layouts based on conditioning. ggplot2 is an R implementation of the system described in “A Grammar of Graphics” by Leland Wilkinson. Like lattice, ggplot (also built on top of grid) assists in trellis-like graphics, but allows for much more. Since it is built on the idea of a semantics for graphics there is much more emphasis on reshaping data, transformation, and assembling the elements of a plot.
- Devices : Whereas grid is built on top of the R graphics engine, many in the R community have found the R graphics engine somewhat inflexible and have written separate device drivers that either emphasize interactivity or plotting in various graphics formats. R base supplies devices for PostScript, PDF, JPEG and other formats. Devices on CRAN include cairoDevice which is a device based libcairo, which can actually render to many device types. The cairo device is desgned to work with RGTK2, which is an interface to the Gimp Tool Kit, similar to pyGTK2. GDD provides device drivers for several bitmap formats, including GIF and BMP. RSvgDevice is an SVG device driver and interfaces well with with vector drawing programs, or R web development packages, such as Rpad. When SVG devices are for web display developers should be aware that internet explorer does not support SVG, but has their own standard. Trust Microsoft. rgl provides a device driver based on OpenGL, and is good for 3D and interactive development. Lastly, the Augsburg group supplies a set of packages that includes a Java-based device, JavaGD.
- Colors : The package colorspace provides a set of functions for transforming between color spaces and mixcolor() for mixing colors within a color space. Based on the HCL colors provided in colorspace, vcdprovides a set of functions for choosing color palettes suitable for coding categorical variables ( rainbow_hcl()) and numerical information ( sequential_hcl(), diverge_hcl()). Similar types of palettes are provided in RColorBrewer and dichromat is focused on palettes for color-impaired viewers.
- Interactive Graphics : There are several efforts to implement interactive graphics systems that interface well with R. In an interactive system the user can interactively query the graphics on the screen with the mouse, or a moveable brush to zoom, pan and query on the device as well as link with other views of the data. rggobi embeds the GGobi interactive graphics system within R, so that one can display a data frame or several in GGobi directly from R. The package has functions to support longitudinal data, and graphs using GGobi’s edge set functionality. The RoSuDA repository maintained and developed by the University of Augsburg group has two packages, iplots and iwidgets as well as their Java development environment including a Java device, JavaGD. Their interactive graphics tools contain functions for alpha blending, which produces darker shading around areas with more data. This is exceptionally useful for parallel coordinate plots where many lines can quickly obscure patterns. playwith has facilities for building interactive versions of R graphics using the cairoDevice and RGtk2. Lastly, the rgl package has mechanisms for interactive manipulation of plots, especially 3D rotations and surfaces.
- Development : For development of specialized graphics packages in R, grid should probably be the first consideration for any new plot type. rgl has better tools for 3D graphics, since the device is interactive, though it can be slow. An alternative is to use Java and the Java device in the RoSuDA packages, though Java has its own drawbacks. For porting plotting code to grid, using the package gridBase presents a nice intermediate step to embed base graphics in grid graphics and vice versa.
Related Articles
- CRAN Task View: Machine Learning & Statistical Learning (cran.r-project.org)
- The R-Files: Dirk Eddlebuettel (revolutionanalytics.com)
- R Commander Plugins-20 and growing! (decisionstats.com)
- R Node- and other Web Interfaces to R (decisionstats.com)
- Packages for By-Group Processing in R (revolutionanalytics.com)
- R ready to Deduce you (ekonometrics.blogspot.com)
R Node- and other Web Interfaces to R
R Node is a great web interface to R.
http://squirelove.net/r-node/doku.php
Features
-
Access to a R server backend via a web browser UI
-
The web browser UI works in all modern browsers, including IE 7 and 8 (excluding SVG based graphs).
-
Username/password login (both from the browser to the R-Node server, and from the R-Node server to Rserve and R).
-
Per-user R sessions. Each user can have their own R workspace, or they can share.
-
-
Support for most R commands that perform statistical analysis and provide textual feedback.
-
Support for most standard R commands that provide graphical feedback via server side generation of the graphs. Some graphs (e.g. plot() can be plotted via SVG client-side as well).
-
Downloading of generated graphs.
-
Accessing R help files using help() and ? commands (Note R v2.10 altered how help is provided, so this currently is not working in R v2.10)
-
Uploading files to work with their data in R.
-
Many commands will work. Try a command, if it does not work, use the feedback button in the application to let us know.
Limitations
-
Various R functions are not supported. These include:
-
Installation of new R packages.
-
Searching of help via ??.
- Example calls (via example()).
-
- First and now not so updated Rweb: Web-based Statistical Analysis Last Modified: 25-Jun-1999 JSS Paper (http://www.jstatsoft.org/v04/i01/
R-Online https://user.cs.tu-berlin.de/~ulfi/cgi-bin/r-online/r-online.cgi(The official FAQ seems outdated )
- Rcgi (it is not clear if the project is still active as per official FQ) http://www.ms.uky.edu/~statweb/testR3.html

Rphp
RWui
http://sysbio.mrc-bsu.cam.ac.uk/Rwui/

R.Rsp
http://cran.r-project.org/web/packages/R.rsp/index.html
RServe
http://www.rforge.net/doc/packages/Rserve/00Index.html
RPad
http://rpad.googlecode.com/svn-history/r76/Rpad_homepage/index.html

CGIwithR
JSS paper Citation. CGIwithR: Facilities for processing Web forms using R. Journal of Statistical Software, 8(10), pp. 1-8, 2003.
A lecture on aspects of using CGI
R Apache
http://biostat.mc.vanderbilt.edu/rapache/

- Open Infrastructure for Outcomes with a live reporting module using RSessionDA
- Free statistics software- Wessa server using R (see http://www.wessa.net/rwasp_arimaforecasting.wasp)
Wessa, P. (2011), Free Statistics Software, Office for Research Development and Education,
version 1.1.23-r6, URL http://www.wessa.net/
- An impressive implementation of time series analysis based on R and Javascript. This web server creates separate browser windows for data entry, graphics, and procedure selection. These windows are dynamic. For example, after entering data there is no
submitbutton to submit the data. The procedure selection window is used to start the analysis, which uses the current values in the data window.
- Online multivariate analysis and graphical displays from PBIL, Lyon
- An R web server for robust rank-based linear models
To make an interactive GUI in gWidgets can be as easy as creating the following script:
w <- gwindow(’simple interactive GUI with one button’, visible=FALSE)
g <- ggroup(cont=w)
b <- gbutton(’click me’, cont=g, handler=function(h,...) {
gmessage(’hello world’, parent=b)
})
visible(w) <- TRUE
A big and slightly outdated resource page from (which I used for some find and seek of resources)
http://biostat.mc.vanderbilt.edu/twiki/bin/view/Main/StatCompCourse
AND
The famous site at http://www.yeroon.net/ggplot2/ (but no sharing of this site’s source code ,sigh!)

Thats all for now- but watch this space its exciting (to watch AND code) -
Code Enhancers for R
This page lists code editors (or IDE)
https://rforanalytics.wordpress.com/code-enhancers-for-r/
Graphical User Interfaces for R
https://rforanalytics.wordpress.com/graphical-user-interfaces-for-r/
ODBC /Databases for R
https://rforanalytics.wordpress.com/odbc-databases-for-r/
Related Articles
- WebTunes provides Web-based iTunes interface (macworld.com)
- 5 Reasons to Use Twitter Web Interface (madrasgeek.com)
- Getting Started With Riak & Python (pragmaticbadger.com)
- Rserve – Binary R server – RForge.net (rforge.net)
- How to Run Apache and Node.js on the Same Server (readwriteweb.com)
- Rserve – TCP/IP interface to R – RoSuDa – Lehrstuhl für Rechnerorientierte Statistik und Datenanalyse – Universität Augsburg (stats.math.uni-augsburg.de)
RWui :Creating R Web Interfaces on the go
Here is a great R application created by http://sysbio.mrc-bsu.cam.ac.uk
R Wui for creating R Web Interfaces
its been there for some time now- but presumably R Apache is more well known.
From-
http://sysbio.mrc-bsu.cam.ac.uk/Rwui/tutorial/Rwui_Rnews_final.pdf
The web application Rwui is used to create web interfaces for running R scripts. All the code is generated automatically so that a fully functional web interface for an R script can be downloaded and up and running in a matter of minutes.
Rwui is aimed at R script writers who have scripts that they want people unversed in R to use. The script writer uses Rwui to create a web application that will run their R script. Rwui allows the script writer to do this without them having to do any web application programming, because Rwui generates all the code for them.
The script writer designs the web application to run their R script by entering information on a sequence of web pages. The script writer then downloads the application they have created and installs it on their own server.
http://sysbio.mrc-bsu.cam.ac.uk/Rwui/tutorial/Technical_Report.pdf
Features of web applications created by Rwui
- Whole range of input items available if required – text boxes, checkboxes, file upload etc.
- Facility for uploading of an arbitrary number of files (for example, microarray replicates).
- Facility for grouping uploaded files (for example, into ‘Diseased’ and ‘Control’ microarray data files).
- Results files displayed on results page and available for download.
- Results files can be e-mailed to the user.
- Interactive results files using image maps.
- Repeat analyses with different parameters and data files – new results added to results list, as a link to the corresponding results page.
- Real time progress information (text or graphical) displayed when running the application.
Requirements
In order to use the completed web applications created by Rwui you will need:
- A Java webserver such as Tomcat version 5.5 or later.
- Java version 1.5
- R – a version compatible with your R script(s).
Using Rwui
Using Rwui to create a web application for an R script simply involves:
- Entering details about your Rscript on a sequence of web pages.
- Rwui is quite flexible so you can backtrack, edit and insert, as you design your application.
- Rwui then generates the web application, which is Java based and platform independent.
- The application can be downloaded either as a .zip or .tgz file.
- Unpacked, the download contains all the source code and a .war file.
- Once the .war file is copied to the Tomcat webapps directory, the application is ready to use.
- Application details are saved in an ‘application definition file’ for reuse and modification.

Related Articles
- Exadel Announces Tiggr; A New Application for Creating User Interface Prototypes Collaboratively Online (prweb.com)
- Migrating an ASP.NET Site to the Cloud (itexpertvoice.com)
- SmarterStats 6.x Provides Most Accurate View of Website, Server Activity (eon.businesswire.com)
- Iflexion Announces a Web Social Network Engine Release (pr.com)










