n <- 200
n.groups <- 10
n.subgroups <- 6
grps <- paste('gene',seq(1,n.groups), sep='')[round(runif(n,1,n.groups))]
subgrps <- paste('species',seq(1,n.subgroups), sep='')[round(runif(n,1,n.subgroups))]
group.df <- cbind.data.frame(grps,subgrps)
subgroup.list <- by(group.df, group.df$grps, function(x) x$subgrps)
pie.list <- lapply(subgroup.list, table)
pies(x=pie.list, x0=rnorm(n.groups), y0=rnorm(n.groups), show.labels=TRUE, show.slice.labels=TRUE)Run the code above in your browser using DataLab