Venn diagrama de la lista de grupos y factores concurrentes

Tengo un archivo de entrada con una lista de ~ 50000 grupos y la presencia de varios factores en cada uno de ellos (~ 10 millones de entradas en total), vea un ejemplo más pequeño a continuación:

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)

Con un poco de ayuda de otra pregunta, obtuve un gráfico para la coexistencia de factores como este:

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

Pero ahora me gustaría tener un diagrama de Venn para la concurrencia de factores. Idealmente, también de manera que pueda tomar un umbral para el recuento mínimo de cada factor. Por ejemplo, se debe tener en cuenta un diagrama de Venn para los diferentes factores, de modo que cada uno de ellos tenga que estar presente n> 10 en cada grup

Traté de encontrar una manera de producir el recuento de tablas con agregado, pero no pude hacerlo funcionar.

Respuestas a la pregunta(1)

Su respuesta a la pregunta