venneuler: Calculates Venn and Euler Diagram In venneuler: Venn and Euler Diagrams

Description

venneuler calculates a Venn diagram from a set specification.

Usage

 1 venneuler(combinations, weights, ...)

Arguments

 combinations This can be one of: a character vector (specifies disjoint class combinations as class names separated by the ampersand & character – e.g. c("A","B","A&B")) a named numeric vector (names specify class combinations and values specify weights – e.g. c(A=1, B=2, `A&B`=0.5)) a character matrix of two columns (specifies mapping of elements to sets – elements in the first column and set names in the second column, weights argument is ignored) a logical or numeric matrix whose columns represent sets and co-occurrence is defined by non-zero (rep. TRUE) values in rows (weight for a row being 1 for logical matrices or the row sum for numeric matrices). For convenience data frames can be passed instead of matrices and they will be coerced using as.matrix(). weights If combinations is a character vector then this argument specifies the associated weights. It is ignored in all other cases. ... Additional arguments (currently unused).

Value

An object of the class VennDiagram with following components:

 centers centers of the circles (columns are x and y coordinates) diameters diameters of the circles colors colors of the circles as values between 0 and 1 labels labels of the circles residuals residuals (percentage difference between input intersection area and fitted intersection area) stress stress value for solution stress01 .01 critical value for stress based on random data stress05 .05 critical value for stress based on random data

Author(s)

Lee Wilkinson <leland.wilkinson@gmail.com>, R package: Simon Urbanek <simon.urbanek@r-project.org>

Examples

 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 vd <- venneuler(c(A=0.3, B=0.3, C=1.1, "A&B"=0.1, "A&C"=0.2, "B&C"=0.1 ,"A&B&C"=0.1)) plot(vd) # same as c(A=1, `A&B&C`=1, C=1) m <- data.frame(elements=c("1","2","2","2","3"), sets=c("A","A","B","C","C")) v <- venneuler(m) plot(v) m <- as.matrix(data.frame(A=c(1.5, 0.2, 0.4, 0, 0), B=c(0 , 0.2, 0 , 1, 0), C=c(0 , 0 , 0.3, 0, 1))) # without weights v <- venneuler(m > 0) plot(v) # with weights v <- venneuler(m) plot(v)

Example output    