Learn R Programming

r2lh (version 0.7)

r2hb: ~ Function: R to HTML, Bivariate analysis ~

Description

r2htmlBiv (or r2hb in short) performs some bivariate analyses, then generates code to be included in a HTML document in order to print out the analyses on a Web page.

Usage

r2hb(formula,fileOut="",textBefore="",textAfter="",graphDir="graphBiv",graphName="V",type="png",displayStyle=7,limDiscreteY=10,limDiscreteX=10) r2htmlBiv(formula,fileOut="",textBefore="",textAfter="",graphDir="graphBiv",graphName="V",type="png",displayStyle=7,limDiscreteY=10,limDiscreteX=10)

Arguments

formula
[variable~variable] or [variable~data.frame] : contains the data to analyse. In all the following, the left part will be called Y, the right part will be X.
fileOut
[character] name of the output file in which the HTML summary will be saved. If empty, the HTML code is printed on screen.
textBefore
[character] or [vector(character)] : before printing a variable analysis, r2hb can write a text. If X is a single variable, textBefore should be of length 1. If X is a data.frame, textBefore can have same length as the number of columns of the data.frame (this lets the user write a specific introduction for each variable), or can be of length 1. In this case, it is recycled. See examples for details.
textAfter
[character] or [vector(character)] : same as textBefore but the text is printed after the variable analysis. See textBefore and examples for details.
graphDir
[character] : directory used to save the graphs generated by the analyses.
graphName
[character] or [vector(character)] : prefix for the graph names. If empty, the graph names are V1 to V'length(data.frame)'
type
[character] : type of plotting device used to export the graphics. Can be Windows metafile, PNG, JPEG, BMP (Windows bitmap format), TIFF, PostScript or PDF.
displayStyle
[numeric] or [vector(numeric)] : r2hb proposes two different ways of displaying the results.

The first one is compact, it displays all the results on two lines. If the number of modalities of X is too big, this method could draw tables that outfit the page. In this case, a second display (on three lines, less compact but higher) is used.

The switch (compact/expanded) is done automatically by r2hb according to the number of modalities of X: when it is lower than displayStyle, the compact style is used. When it is greater or egal, the expanded style is used.

If X is a data.frame, displayStyle can have the same length as X, or can be of length 1 (and be recycled).

limDiscreteY
[numeric] : r2hb distinguishes two kinds of numeric variables: discrete designates numeric variables with only a few modalities, continuous designates numeric variables with many modalities. For the variable Y, the limit between 'few' and 'many' can be fixed by the user through the limDiscreteY argument. By setting limDiscreteY to 5, the user will ask r2hb to consider all the numeric variables with more than 5 modalities as continuous and all the variables with 5 modalities or less as discrete.

The default value for limDiscreteY is 10.

limDiscreteX
[numeric] or [vector(numeric)]: same as limDiscreteY. If X is a data.frame, limDiscreteX can have the same length as X or can be of length 1 (and is recycled).

Value

r2hb generates HTML code and either prints it on the screen, or saves it in a file. It also generates several graphs, optionally in a different directory.

Classical usage

The use of r2hb goes through the following steps:
Step 1.
Load the data (usually, a data.frame).
Step 2.
Optionally, set some variables as ordered.
Step 3.
Run r2hb(Y~dataFrame,"fileOut.html").
See examples of application.

Author

Christophe Genolini christophe.genolini@free.fr PSIGIAM: Paris Sud Innovation Group in Adolescent Mental Health INSERM U669 / Maison de Solenn / Paris Bernard Desgraupes bernard.desgraupes@u-paris10.fr University of Paris Ouest - Nanterre

Details

r2hb performs some basic analyses, then generates code to be included in a HTML document in order to print out the analyses in a Web page.

r2hb performs the analyses automatically according to the data class. It considers 5 classes: nominal with 2 modalities, nominal with 3 modalities or more, ordered, discrete and continuous (see the description of limDiscreteY for details on discrete and continuous).

The analysis of the variable depends on the class of Y and X wich gives 25 possible combinations. We will not give a description here, all of them are presented in the pdf file /library/r2lh/doc/r2lhOutput.pdf.

They can be divided in two categories. First (on the top of the tabular) are descriptive analyses:

  1. table: absolute and relative frequency.
  2. summary: mainly whenY is continuous and X has few modalities.
  3. graphical representation: barplot or boxplot for each modalities of X, mosaic plot, scatter plot, density lines according to the type of the variable.

On the second part of the tabular are all the informations related to a potential link between Y and X.

  1. test: khi2, Fisher exact test, Student's T, ANOVA, Wilcoxon, Kruskal & Wallis, Spearman correlation, Pearson correlation, Odds Ratio and Relative Risk, depending on the classes of Y and X. Note that as many tests as possible are run. For example, if Y is nominal and Xis ordered, X can be considered as a factor (khi2 and Fisher exact test) but also as a discrete variable (Wilcoxon).
  2. graphical diagnostic: the test presented might not be all valid. Some graphical diagnostic (check for normality) are presented to let the user decide which test is more relevant.

The wide display gives :

+---+---+---+
| 1 | 2 | 3 |
+---+-+-+---+
|  4  |  5  |
+-----+-----+

The long display :

+-------+
|   1   |
+---+---+
| 2 | 3 |
+---+---+
| 4 | 5 |
+---+---+

If X is a data.frame, r2hb runs the analyses on every column.

See /library/r2lh/doc/r2lhOutput.pdf for display detail.

References

HTML web site http://www.latex-project.org/ Data are available on line: http://christophe.genolini.free.fr/EPO/EPO2007-Fraude.php

See Also

r2hMainFile, r2htmlUniv, r2htmlUniv-package, examCheating

Examples

Run this code
 # # # # # # # # # # # # # # # # # # #
#    R to HTML, Bivariate Analyses    #
 #        Artificial examples        #
  #         Single variable         #
   # # # # # # # # # # # # # # # # #

### Create some data
V1 <- factor(LETTERS[floor(runif(50,1,4))])
V2 <- rnorm(50,1,1)<0
V3 <- ordered(LETTERS[floor(runif(50,1,4))])

### Create a directory for the output
if(!file.exists("tmp/r2hbExample",recursive=TRUE)){dir.create("tmp/r2hbExample",recursive=TRUE)}else{}
setwd("tmp/r2hbExample")

### Execute r2hb
r2hb(V1~V2,fileOut="first.html",textBefore="<H2>Variables V1, V2, V3</H2>",graphName="Gr1",type="png")
r2hb(V2~V1,fileOut="second.html",graphName="Gr2",type="png")
r2hb(V3~V1,fileOut="third.html",textBefore="This is V3 vs. V1",graphDir="P",graphName="Gr3",type="png",displayStyle=2)
r2hMainFile(text="
<LU>
<LI><A HREF='first.html'>First example</A></LI>
<LI><A HREF='second.html'>Second example</A></LI>
<LI><A HREF='third.html'>Third example</A></LI>
</LU>
")
setwd("..")

Run the code above in your browser using DataLab