Skip to main content

Philosophy

Red-R is based on the principal of visual programming. In visual programming, functional tools (called Widgets in Red-R) are linked together on a canvas to control the flow of data through the program. While Red-R lacks (at the moment) certain key aspects of programming such as logic or loops, this framework allows novice users to quickly and easily build complex analysis pipelines.

Another core principal of Red-R is the unity of data, analysis, and documentation. Many programs separate the analysis pipelines, data-products, initial data, and documentation relating to the interpretation of the outcome. Red-R joins these in the saved file (a .rrs file). When you put a widget on the canvas and perform some analysis the data generated from that widget (the data-product) is incorporated into the schema. When you see some output that is interesting or just want to document some decision that you made you can always put those notes in the Notes section of the widget. This way later when you are wondering why you used p less than 0.005 you will know. If you decide that you want to use some other value just change it and commit the changes. If you want to share your work you can just send one file with all the data, analysis, and documentation to your collegue, professor, supervisor, or anyone else, and they will be able to see exactly what you did and understand why you did it.

Data interactivity is another principal of Red-R. By this we mean that once you have made a pipeline, any changes in the upstream data will automatically be processed in downstream widgets and you will see the changes in your data. For example, lets say you read in some data as a table (using Read Files widget) and then subset some rows (using Row Filtering) based on a criteria of a column of data and then do a t-test (using T-Test). You then look at the filtering that you did and want to change it, filter by some other value lets say. If you do this your T-Test widget will automatically be updated to show the latest changes.

Motivation behind Red-R