iagrama de Venn da lista de clusters e fatores co-ocorrent

Eu tenho um arquivo de entrada com uma lista de ~ 50000 clusters e presença de vários fatores em cada um deles (~ 10 milhões de entradas no total), veja um exemplo menor abaixo:

set.seed(1)
x = paste("cluster-",sample(c(1:100),500,replace=TRUE),sep="")
y = c(
  paste("factor-",sample(c(letters[1:3]),300, replace=TRUE),sep=""),
  paste("factor-",sample(c(letters[1]),100, replace=TRUE),sep=""),
  paste("factor-",sample(c(letters[2]),50, replace=TRUE),sep=""),
  paste("factor-",sample(c(letters[3]),50, replace=TRUE),sep="")
)
data = data.frame(cluster=x,factor=y)

Com um pouco de ajuda de outra pergunta, consegui produzir um gráfico por co-ocorrência de fatores como este:

counts = with(data, table(tapply(factor, cluster, function(x) paste(as.character(sort(unique(x))), collapse='+'))))
pie(counts[counts>1])

Mas agora eu gostaria de ter um diagrama de Venn para a co-ocorrência de fatores. Idealmente, também de uma maneira que possa ter um limite para a contagem mínima para cada fator. Por exemplo, um diagrama de Venn para os diferentes fatores, para que cada um deles esteja presente n> 10 em cada cluster para ser levado em consideraçã

Tentei encontrar uma maneira de produzir contagens de tabelas com agregados, mas não consegui fazê-las funciona

questionAnswers(1)

yourAnswerToTheQuestion